An observer wrapper that ensures the underlying implementation does not receive concurrent onNext / onError / onComplete events - for those cases in which the producer is emitting data too fast or concurrently without fulfilling the back-pressure requirements.
Represents an Observer that buffers emitted items until the call to connect()
happens.
A safe observer ensures too things: