Refactor of the event calling conventions. Use opportunistic copying to fix concurrency issues.
Refactored the event interface.