update scheduling is now done through the controller object
added a key event observer
added tests
event observer can now track mouse-related events
updated tests
right click now properly works