Moar engine work with .cpp

pretty nasty looping... not sure how else to do this though. 
How we resolve collisions is a big unknown still - where does this happen?
Should PhysicsEngine hold (and manage) objects or just have pointers to
them?