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

            CollObserver pNode = pDelayMan.head;

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

                pNode = (CollObserver)pNode.pNext;
            }


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

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

                // remove
                pDelayMan.PrivDetach(pTmp, ref pDelayMan.head);
            }
        }