public static EventJson of(Event event, ObjectMapper objectMapper) {
Function<Object, JsonNode> serialiser = objectMapper::valueToTree;
return of(
event.getAggregateId().getType(),
event.getAggregateId().getId().toString(),
event.getEventName().getName(),
event.getEventName().getVersion(),
event.getEventTimestamp().getTimestamp().toEpochMilli(),
event.getEventTimestamp().getStreamId(),
event.getProcessingId().map(UUID::toString).orElse(""),
event.getCharacteristics(),
event.getParameters().serialise(serialiser)
);
}