Refactor EventBus data into a struct passed as the first param of any EventBus call.
Implement a CircleBuffer
Capture UART input in a CircleBuffer
Simplify EventBus: route all events to a single handler
Simplify Timer: emit events instead of calling callbacks
Simplify the LCD initialization sequence
Improved trap debugging: trap handler loop can now be broken
Rename Timer to Defer
Refactor Defer state into a struct passed to each function
Refactor top-level app state into a struct.