Contract for user interface state which UI components can use to interact with state
Network request status to show to the user this value is importantly only when refresh is requested
Refreshes & invalidates underlying data source fetches it from scratch.
Retries any failed requests.