public void processEvent(@Observes AccountSignupEvent signupEvent) {
        if (signupEvent.isApprovalRequired()) {
            CreateNotificationDto newNotification = new CreateNotificationDto();

            RecipientDto approversRole = new RecipientDto()
                 .setRecipient("approver")
                 .setRecipientType(RecipientType.ROLE);

            newNotification.setRecipient(List.of(approversRole)) // TODO(msavy): take this from preferences
                           .setReason(APIMAN_ACCOUNT_APPROVAL_REQUEST)
                           .setReasonMessage("A new account needs approval to gain access " + signupEvent.getUsername())
                           .setCategory(NotificationCategory.USER_ADMINISTRATION)
                           .setSource("/apiman/notifications/account/approvals")
                           .setPayload(signupEvent);

            notificationService.sendNotification(newNotification);
        }
        // TODO(msavy): should we have an ABAC approach here and/or blended approach and/or individual opt-in?
    }
Accept an {@link AccountSignupEvent} and produce a {@link #APIMAN_ACCOUNT_APPROVAL_REQUEST} notification.

@author Marc Savy {@literal <marc@blackparrotlabs.io>}
manager/api/rest-impl/src/main/java/io/apiman/manager/api/notifications/producers/NewAccountNotificationProducer.java