I think this part needs to happen at a higher level, the handlers should deal with the events when posssible.