class Listeners {

    @WithTimer
    public void onProcessEvent(List<ProcessEvent> events) {
        ForkJoinTask<?> task = eventListenerPool.submit(() -> {
            eventListeners.parallelStream().forEach(l -> l.onEvents(events));
        });

        waitFor(task);
    }

    @Inject public  Listeners(Collection<ProcessEventListener> eventListeners,
                     Collection<ProcessLogListener> logListeners,
                     Collection<AuditLogListener> auditLogListeners);

}