class AggregationDuty implements Duty {

  public void addValidator(
      final Validator validator,
      final int validatorIndex,
      final BLSSignature proof,
      final int attestationCommitteeIndex,
      final SafeFuture<Optional<Attestation>> unsignedAttestationFuture) {
    aggregatorsByCommitteeIndex.computeIfAbsent(
        attestationCommitteeIndex,
        committeeIndex -> {
          validatorApiChannel.subscribeToBeaconCommitteeForAggregation(committeeIndex, slot);
          return new CommitteeAggregator(
              validator,
              UInt64.valueOf(validatorIndex),
              attestationCommitteeIndex,
              proof,
              unsignedAttestationFuture);
        });
  }

  public  AggregationDuty(
      final UInt64 slot,
      final ValidatorApiChannel validatorApiChannel,
      final ForkProvider forkProvider,
      final ValidatorLogger validatorLogger);

}