PriorityQueue design