Starting a big refactoring on canvas controller