class EventChannel {

  static <T> EventChannel<T> create(
      final Class<T> channelInterface, final MetricsSystem metricsSystem) {
    return create(
        channelInterface, LoggingChannelExceptionHandler.LOGGING_EXCEPTION_HANDLER, metricsSystem);
  }

  private  EventChannel(
      final Class<T> channelInterface,
      final EventDeliverer<T> invoker,
      final boolean allowMultipleSubscribers);

}