Refactoring CanvasView and CanvasViewController