refactored canvas listeners - now belong to parent canvasObj