static public void Process()
        {
            DelayedObjectManager pDelayMan = DelayedObjectManager.GetInstance();

            CollisionObserver pNode = pDelayMan.head;

            while (pNode != null)
            {
                // Fire off listener
                pNode.Execute();

                pNode = (CollisionObserver)pNode.pNext;
            }


            // remove
            pNode = pDelayMan.head;
            CollisionObserver pTmp = null;

            while (pNode != null)
            {
                pTmp  = pNode;
                pNode = (CollisionObserver)pNode.pNext;

                // remove
                pDelayMan.Detach(pTmp, ref pDelayMan.head);
            }
        }
        public static void Process()
        {
            DelayedGameObjectManager delayedGOMan = DelayedGameObjectManager.GetInstance();
            CollisionObserver        observer     = delayedGOMan.collisionObservers;

            while (observer != null)
            {
                observer.Execute();
                observer = (CollisionObserver)observer.pONext;
            }
            observer = delayedGOMan.collisionObservers;
            CollisionObserver obs = null;

            while (observer != null)
            {
                obs      = observer;
                observer = (CollisionObserver)observer.pONext;
                delayedGOMan.Detach(obs, ref delayedGOMan.collisionObservers);
            }
        }