Make a copy of the task evaluator for lazy evaluation.
Rename TaskEvaluator to EagerTaskEvaluator.
Move all evaluation classes to evaluation package.
Initial version of lazy evaluation.