First, the singleton UIApplication object takes an event from the top of the queue and dispatches it for handling.
It sends the event to the app's key window object, which passes the event to an initial object for handling.