Accumulate
Accumulate(accumulateThis);
task->Accumulate(functor, delay);
virtual void Accumulate(AccumulatingFunctionObject*) = 0;