Reactive Extensions

Reactive Extensions is a set of tools that combines techniques and ideas from patterns such as Observer, Iterator, and from functional programming.

It provides functions (called operators) that operate on each item in the sequence.