So just a few last questions to clarify for myself:
what would you have HandleInput() do within an individual Object::Update?
what are some examples of what m_Events.Update() might include?
If opjects are being moved one at a time, where would collisions be handled? Would that be within m_ObjectManager.Update after all the individual Object::Update methods have been called?