A type of Declarative Programming used with data streams and propogation of change. Heavily uses Event Emitters