A simple example of using Provider with the BLoC pattern.
This example uses the Provider package for DI and the BLoC pattern for state management. The BLoC in this example follows the rules stating that all input and output from a BLoC must be via streams and sinks: no functions are allowed. See this talk from Dart Conf 2018 for more details: https://www.youtube.com/watch?v=PLHln7wHgPE