public void DeRegisterObject(IHasGalaxyID obj)
        {
            ISimulatable tempSim;
            IHasGalaxyID tempGal;

            //Maybe a type check is faster than TryRemove?

            _collisionManager.TryRemoveCollidableKey(obj.Id);

            _galaxyManager.DeRegisterArea(obj.Id);
            _galaxyManager.AllSimulatableObjects.TryRemove(obj.Id, out tempSim);
            _galaxyManager.AllObjects.TryRemove(obj.Id, out tempGal);


            _shipManager.DeregisterShip(obj.Id);

            _galaxyIDManager.PushFreeID(obj.Id);
        }