The Observable interface that implements the Reactive Pattern.
Provides a mechanism for receiving push-based notifications.
A Subject is an Observable and an Observer at the same time.
Subject that, once an Observer
has subscribed, emits all subsequently observed items to the
subscriber.