Messed with event inheritance.
Removed internal abstraction layer.