Leveraging Reactive Extensions for Asynchronous Processing