Refactoring

We're down ~500 lines of code on mouseEvents.js! And with even more functionality!