create events with factory and let mouse.cpp use it
move deselect event creation to eventfactory