Moving more functionality to the object model