asynchronous event firing 

Please don't commit this here. Send that as a separate pull.