Event is an intention to change state.
Effect is a container for async function.
It can be safely used in place of the original async function.
The only requirement for the function:
- Must have zero or one argument
Store is an object that holds the state tree. There can be multiple stores.