Trait for tasks that are
given a priority, based on the age (to ensure fairness)
and on other criteria to work at different tasks in a meaningful order.
Tasks with smaller priority are supposed to be handled first.
Proof tasks of this kind cannot fail, i.e., the result of apply
is simply ProofTree.
Update the task with possibly new information from the goal.
Update the task with possibly new information from the goal. If new facts
can be derived, these are put into factCollector