RxJS
RxJS is a library for composing asynchronous and event-based programs by using observable sequences.
It provides one core type, the Observable, satellite types (Observer, Subjects) and operators inspired by Array#extras (map, filter, reduce, every, etc) to allow handling asynchronous events as collections.
It combines the Observer pattern with the Iterator pattern and functional programming with collections to fill the need for a better way of managing sequences of events.