             return;
         }
 
-        queueTimer(getTimer() + _delay);
+        enqueue(new Buddy(this, getTimer() + _delay));
     }
 
     public function stop () :void


        while (_heap.size > 0 && _heap.front.expiration <= now) {
            var buddy :Buddy = _heap.dequeue();
            buddy.budette.expire(buddy);
        }
    }


        _currentCount ++;
        dispatchEvent(new TimerEvent(TimerEvent.TIMER));
        if (_currentCount < _repeatCount) {
            buddy.expiration += _delay;
            enqueue(buddy);

        } else {
            dispatchEvent(new TimerEvent(TimerEvent.TIMER_COMPLETE));
