Major refactoring of Events.