transformed SingleTask into an IEnumerator implementation
reuse SerialTasks code to avoid code duplication