run method
Enqueues task and executes it immediately at the end of the current frame,
if it isn't already running.
Implementation
@override
E run(Task<T> task) {
if (task._isQueued) return self;
task._isQueued = true;
task._reset();
_pendingTaskQueue.add(task);
final done = _doTask(task, time.dt);
if (done) {
_pendingTaskQueue.remove(task);
task._isQueued = false;
}
return self;
}