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

  @Override
  public void beforeUpdate(M model, E event) {
    for (Logger<M, E, F> logger : loggers) {
      logger.beforeUpdate(model, event);
    }
  }

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

}