Add initial priority queue implementation
Clean-up and add support for min/max queues