I may want to propagate some exceptions and others I may want to handle in event_failed callback. I am not sure whether catching exception at all is good idea. Maybe best solution would be to re-raise exception after calling event_failed.