Specify the update passes in an array (makes it slightly easier to add new passes)
Every object gets a transformation matrix, which is updated whenever its presence is changed
Split the physics passes into motion and collision passes (collisions would only happen on the tick after they occurred if we didn't do this)