class CompositeLogger implements Logger<M, E, F> {

  @Override
  public void afterUpdate(M model, E event, Next<M, F> result) {
    for (Logger<M, E, F> logger : loggersReversed) {
      logger.afterUpdate(model, event, result);
    }
  }

  private  CompositeLogger(List<Logger<M, E, F>> loggers);

}