The Mighty Event: a cheat-code to reduce complexity and unlock super-powers
Events are everywhere in programming and many systems are explicitly event-driven . Event Sourcing is one technique that is becoming increasingly popular server-side  in OO languages. Under different names , it has been used for over 50 years in functional languages. This talk by Tavis Rudd and Roman Gonzalez will explore its less obvious applications in browser-side UI development and testing.
1: http://en.wikipedia.org/wiki/Staged_event-driven_architecture, http://en.wikipedia.org/wiki/Event-driven_architecture, http://martinfowler.com/bliki/CQRS.html, the Reactor Pattern http://en.wikipedia.org/wiki/Reactor_pattern for IO multiplexing (libev, twisted, netty, node.js, etc.)
2: see InfoQ: Event Sourced Architectures for High Availability - Martin Thompson or google for CQRS or Event Sourcing
3: reduce, `left fold`, inject, or, more specifically, state/event reduction. See http://en.wikipedia.org/wiki/Fold_%28higher-order_function%29 for an abstract, academic discussion and these notes from Stuart Sierra for the specific interpretation/application we are talking about. http://stackoverflow.com/questions/5331746/practical-use-of-fold-reduce-in-functional-languages and http://alan.dipert.org/post/307586762/polyglot-folding-ruby-clojure-scala?5db3a780 discuss other applications of reduce.
4: you've got to come to the talk to find out what they are!