Events is an Observer pattern implementation, for callbacks to trigger-able events.