moved mouse event logic to controller; drawing logic to GraphCanvas