Switched over to an entity component system (ECS). Got basic collision work and such things.
Added a quadtree implementation for reducing collision search space. Seperated the collision functions into entity/entity and entity/map.