Overview
In my mind, the global state of an application is a set of independents sources of truth and derived states, computed from them and other states. For example a list of transactions can be a source of truth and the sum of these transactions is a derived state. When the list changes, we want the sum to be updated automatically.
In state_watcher, the sources of truth are referenced through Provided and the derived states through Computed.
I used the word referenced because the actual state is not stored in Provided and Computed, they are simply references to get their associated value.
The states are located in a Store and it is through this object that you can interact with the actual values.
The last fundamental pieces of state_watcher are the watchers. They are the Flutter widgets used to watch the changes in the states and rebuild accordingly.
Conclusion
These are the core concepts of state_watcher, and you can build a Flutter application using only this. But for a better separation between the view and the business logic there is another important component: the StateLogic.