code: func (engine *DockerTaskEngine) updateTaskUnsafe(task *apitask.Task, update *apitask.Task) {
  	managedTask, ok := engine.managedTasks[task.Arn]
  	if !ok {
  		seelog.Criticalf("Task engine [%s]: ACS message for a task we thought we managed, but don't!  Aborting.",
  			task.Arn)
  		return
  	}
  	// Keep the lock because sequence numbers cannot be correct unless they are
  	// also read in the order addtask was called
  	// This does block the engine's ability to ingest any new events (including
  	// stops for past tasks, ack!), but this is necessary for correctness
  	updateDesiredStatus := update.GetDesiredStatus()
  	seelog.Debugf("Task engine [%s]: putting update on the acs channel: [%s] with seqnum [%d]",
  		task.Arn, updateDesiredStatus.String(), update.StopSequenceNumber)
  	managedTask.emitACSTransition(acsTransition{
  		desiredStatus: updateDesiredStatus,
  		seqnum:        update.StopSequenceNumber,
  	})
  	seelog.Debugf("Task engine [%s]: update taken off the acs channel: [%s] with seqnum [%d]",
  		task.Arn, updateDesiredStatus.String(), update.StopSequenceNumber)
  }
docs: // updateTaskUnsafe determines if a new transition needs to be applied to the
  // referenced task, and if needed applies it. It should not be called anywhere
  // but from 'AddTask' and is protected by the tasksLock lock there.