Reactive applications are designed to handle asynchronous events in a way that maximizes responsiveness, resiliency and elasticity. Reactive Extensions (Rx) is a library created by Microsoft that abstracts away the sources of events and provides tools to handle them in a reactive way. With Rx, filtering events, composing event sources, transforming events and dealing with errors all become much simpler than with traditional tools. Reactive Extensions requires a mind change, thinking about your application as a message hub that knows how to react to messages.