Events are how PolyUI communicates between components and to the user.
DSL for events.
Handles input events and passes them to the correct components/layouts.