refactored PriorityHeapTimer  to PriorityQueueTimer