public SingleTask(IEnumerator enumerator)
{
if (enumerator is SingleTask || enumerator is PausableTask || enumerator is AsyncTask)
throw new ArgumentException("Use of incompatible Enumerator, cannot be SingleTask/PausableTask/AsyncTask");
_task = new SerialTaskCollection();
_task.Add(enumerator);
_enumerator = _task.GetEnumerator();
onComplete = null;
}