change visit() to visitDraw(), change visitLogic() to visitUpdate()