Split up the render functionality into separate view objects