Refactor self to Events

Refactor self to Events

Issue with `registeredEvents` losing events likely because of this
Merge pull request #914 from mkly/refactor_events_self

Refactor self to Events