emit() to fire events; registered handlers run asynchronously without blocking the HTTP response. Two built-in handlers ship today: Audit (persists to EventLog table) and Milestone (streak + completion push notifications). The system is designed to be extended with future handlers for Discord webhooks, Slack notifications, and external integrations.