I am quite new to this framework and working on state management using provider package where I come across `ChangeNotifierProvider` and `ChangeNotifierProvider.value`, but I am unable to distinguish their use case.

I had used `ChangeNotifierProvider` in place of `ChangeNotifierProvider.value`, but it doesn't work as intended.