code: func (handler *TaskHandler) flushBatchUnsafe(taskStateChange *api.TaskStateChange, client api.ECSClient) {
  	taskStateChange.Containers = append(taskStateChange.Containers,
  		handler.tasksToContainerStates[taskStateChange.TaskARN]...)
  	// All container events for the task have now been copied to the
  	// task state change object. Remove them from the map
  	delete(handler.tasksToContainerStates, taskStateChange.TaskARN)
  
  	// Prepare a given event to be sent by adding it to the handler's
  	// eventList
  	event := newSendableTaskEvent(*taskStateChange)
  	taskEvents := handler.getTaskEventsUnsafe(event)
  
  	// Add the event to the sendable events queue for the task and
  	// start sending it asynchronously if possible
  	taskEvents.sendChange(event, client, handler)
  }
docs: // flushBatchUnsafe attaches the task arn's container events to TaskStateChange event
  // by creating the sendable event list. It then submits this event to ECS asynchronously