title: Observable that produces a single item per subscription - one event per handler
body: <p>Let's say I would like to expose an observable that notifies either immediately, if an Internet connection is available right now, or if the device is not connected to the Internet the notification would be pushed out when it does become available:</p>
  
  <pre><code>IObservable&lt;DateTime&gt; InternetBecameAvailableSignalledOncePerSubscriber { get; }
  </code></pre>
  
  <p>Furthermore, there should be only one notification per subscription without requiring the subscriber to do .Take(1) or anything like that. </p>
  
  <p>i.e. the client that depends on an Internet resource would use this observable to do something right now or as soon as the Internet becomes available, but would not do it more than once - there would be no more signalling to that subscriber if Internet became unavailable and available a second time..</p>
  
  <p>How could this be implemented with Reactive Extensions (Rx) ?</p>
  
  <ul>
  <li>Please ignore the flawed notion that Internet can become available as such, think of it as google.com being reachable or whatever flavored implementation you prefer</li>
  </ul>