Reactive programming patterns in practice.
- Using .Publish() and .RefCount() to provide a caching and automatic start/stop mechanism for asynchronous background fetches/calls.
- Using TaskCompletionSource (not really an Rx example).
- Constraining an observable to a limited rate.