code: func (b *Backend) GroupCompleted(groupUUID string, groupTaskCount int) (bool, error) {
  	groupMeta, err := b.getGroupMeta(groupUUID)
  	if err != nil {
  		return false, err
  	}
  
  	taskStates, err := b.getStates(groupMeta.TaskUUIDs...)
  	if err != nil {
  		return false, err
  	}
  
  	var countSuccessTasks = 0
  	for _, taskState := range taskStates {
  		if taskState.IsCompleted() {
  			countSuccessTasks++
  		}
  	}
  
  	return countSuccessTasks == groupTaskCount, nil
  }
docs: // GroupCompleted returns true if all tasks in a group finished