Cleanup of some of the event stuff
Add support for keyboard events