Implement Visitor pattern, add Renderer and Drawer classes