no clock, no you — it waits, then reacts the moment something happens
events handled: 0
press it whenever you like — the loop only reacts when you do
That is event-driven. No clock ticked and you started nothing. The loop sat idle, then reacted the instant each thing happened — a PR (a Routine), a message (a Channel), an alert (an API trigger). That is the doorbell: nothing until it rings, then a reply at once.