A lightweight observable
Whenable events implementation
case when then else
Subscribe to an event before or after it's fired