code: func (engine *DockerTaskEngine) startTask(task *apitask.Task) {
  	// Create a channel that may be used to communicate with this task, survey
  	// what tasks need to be waited for for this one to start, and then spin off
  	// a goroutine to oversee this task
  
  	thisTask := engine.newManagedTask(task)
  	thisTask._time = engine.time()
  
  	go thisTask.overseeTask()
  }
docs: // startTask creates a managedTask construct to track the task and then begins
  // pushing it towards its desired state when allowed startTask is protected by
  // the tasksLock lock of 'AddTask'. It should not be called from anywhere
  // else and should exit quickly to allow AddTask to do more work.