class HubEventLogger {

    public void logRequestFromHub(SessionId sessionId, String transactionEntityId) {
        Map<EventDetailsKey, String> details = new HashMap<>();
        details.put(hub_event_type, RECEIVED_AUTHN_REQUEST_FROM_HUB);
        details.put(transaction_entity_id, transactionEntityId);

        EventSinkHubEvent eventSinkHubEvent = new EventSinkHubEvent(
                serviceInfo,
                sessionId,
                HUB_EVENT,
                details);

        eventSinkProxy.logHubEvent(eventSinkHubEvent);
        eventEmitter.record(eventSinkHubEvent);
    }

    @Inject public  HubEventLogger(ServiceInfoConfiguration serviceInfo,
                          EventSinkProxy eventSinkProxy,
                          EventEmitter eventEmitter);

}