Tweaking some exception handling with events