Finished extracting anonymous classes from Event

Class names are ugly. Will revisit later