Loading data with Riverpod: an AsyncValue story

In Riverpod, the AsyncValue object offers all you need to represent your providers loading states (loading/error/success/refreshing).