simpler event listening with on_event: fn