Introduced controller
Clean up
Added observer pattern to SketchController