* Add in input handling
* A few things left to do like modifiers.
* Need to test all the events! (To confirm they are right and expected!)