Improve event processing semantics a little. Add a safety check I'm not sure is needed.