BlocObservable
A Bloc than can be observed by subscribing to state and side effect updates (has a subscribe function).
Note: the subscriptions is tied to the lifecycle of the caller. It depends on the concrete implementations of the BlocObservable which transitions of the lifecycle are relevant (typically onStart() and onStop()).