title: Is there a Reactive Framework Subject that buffers until it doesn't need to?
body: <p>When adapting 3rd party libraries to expose <code>IObservable</code>, it is sometimes unavoidable that you have to use something like a <code>ReplaySubject</code> to buffer results for the short period after you become aware that a stream is available and before you can get someone to subscribe to it.</p>
  
  <p>A <code>ReplaySubject</code> with a short time period will 'usually' work, but not always, and then is wasteful, maintaining a rolling queue that may not be necessary once a subscriber is listening.</p>
  
  <p>Is there a suggested pattern for a 'subject which buffers until someone is listening?'</p>