Halt stops current event, removes all next events

EventQueue can deliver list of all events and remove them.
Halt fires failure event for each event that was in the queue.
Ran metrics. Cleaned up some code.