Don't use a (smelly) abstract base class, separate task result storage into its own interface and use composition.
Nicer interface
Forgot to set status to success.
Separate task creation interface out of task evaluators.
Restructure packages
More restructuring
Rename
Separate task queuing and task evaluation.
Move responsibility of maintaining the current evaluating task, and if it was delayed, to TaskEvaluationQueue.
Use a boolean to indicate evaluation in a cycle, instead of a separate method.
Instructions must always be constructor applications.
Merge branch 'cleanup-2'
Fix task engine crash on first analysis.
Fix reflexive relation lookups not working correctly.
Merge commit "Fix reflexive relation lookups not working correctly." into unstable