Events are a mechanism supporting decoupled communication between components. They are part of the underlying API abstract class meaning they are available to all child classes. The usage for Events is simple and familiar.
On a given service, you can subscribe to a topic using the on() method, or you can fire an event using trigger().