A Provided references an independent state which can be manually updated over time.
A Provided can be easily declared:
Sometimes a Provided can have some dependencies which are only read when the state is created. For example a repository can have a dependency on an api client:
When you have a Provided that has a meaning only when it is overriden, it can be useful to create it without an initial value:
There are two methods on the store object to modify the state of a Provided: