Dequeue as long as the given predicate is satisfied
Eliminate all prioritised tasks for which the given predicate is false.
Returns the element with the smallest priority value in the queue, or throws an error if there is no element contained in the queue.
the element with the smallest priority.
Remove the first task from the queue.
Compute information about the prioritised tasks (eager tasks are not considered at this point)
PrioritisedTask stored by this managed, making
use of possibly new facts and information from the goal.