Continue refactoring draw and undo