code: func (b *Backend) getStates(taskUUIDs ...string) ([]*tasks.TaskState, error) {
  	states := make([]*tasks.TaskState, len(taskUUIDs))
  
  	for i, taskUUID := range taskUUIDs {
  		item, err := b.getClient().Get(taskUUID)
  		if err != nil {
  			return nil, err
  		}
  
  		state := new(tasks.TaskState)
  		decoder := json.NewDecoder(bytes.NewReader(item.Value))
  		decoder.UseNumber()
  		if err := decoder.Decode(state); err != nil {
  			return nil, err
  		}
  
  		states[i] = state
  	}
  
  	return states, nil
  }
docs: // getStates returns multiple task states