code: func (mtask *managedTask) transitionResource(resource taskresource.TaskResource,
  	to resourcestatus.ResourceStatus) {
  	err := mtask.applyResourceState(resource, to)
  
  	if mtask.engine.isTaskManaged(mtask.Arn) {
  		mtask.emitResourceChange(resourceStateChange{
  			resource:  resource,
  			nextState: to,
  			err:       err,
  		})
  	}
  }
docs: // transitionResource calls applyResourceState, and then notifies the managed
  // task of the change. transitionResource is called by progressTask