Rendering responsibilities passed to canvas