There seems to be a lot of duplication in EventHandler data members at the moment (m_mousePressNode vs. m_clickNode; m_bMousePressed vs. m_mousePressed). Looks like these can be mostly merged - and if that proves impossible, the difference should be thoroughly documented!