Refactor mouse event handling to use handlers rather than naming convention. Fix various mouse event issues.