Return the next event, removing it from the queue.
Must not be called if there are no events left.
See Implementation
Return the next event, removing it from the queue.
Must not be called if there are no events left.