class NotificationServiceImpl implements NotificationService {

    @Override
    public Future<?> notify(String notifierName, Notification notification) {
        LOG.debug("Notify notifierName {}, notification {}", notifierName, notification);
        notificationStore.ifPresent(s -> s.store(notification));
        Notifier notifier = notifiers.get(notifierName);
        if (notifier == null) {
            throw new NoSuchNotifierException("Notifier not found for id " + notification.getNotifierName());
        }
        return queueHandler.enqueue(notifier, notification);
    }

    public  NotificationServiceImpl();
    public  NotificationServiceImpl(NotificationStore store);
    public  NotificationServiceImpl(Map<String, Object> config);
    public  NotificationServiceImpl(Map<String, Object> config, NotificationStore store);

}