Started work on mouse class. This isn't meant to go to master.