@VisibleForTesting
    Map<String, Object> getCustomMessageModel(EventNotificationContext ctx, String type, List<MessageSummary> backlog, DateTimeZone timeZone) {
        final EventNotificationModelData modelData = EventNotificationModelData.of(ctx, backlog);
        LOG.debug("Custom message model: {}", modelData);

        final Map<String, Object> objectMap = objectMapperProvider.getForTimeZone(timeZone).convertValue(modelData, TypeReferences.MAP_STRING_OBJECT);
        objectMap.put("type", type);
        objectMap.put("http_external_uri", this.httpExternalUri);
        final Map<String, Object> escapedModelMap = new HashMap<>();
        objectMap.forEach((k, v) -> {
            if (v instanceof String str) {
                escapedModelMap.put(k, str.replace("\"", "\\\""));
            } else {
                escapedModelMap.put(k, v);
            }
        });
        LOG.debug("Finalized model map: {}", escapedModelMap);

        return escapedModelMap;
    }
@Test
    public void testEscapedQuotes() {
        if (eventNotificationContext.eventDefinition().isPresent()) {
            EventDefinitionDto definition = eventNotificationContext.eventDefinition().get();
            definition = definition.toBuilder().description("A Description with \"Double Quotes\"").build();
            eventNotificationContext = eventNotificationContext.toBuilder().eventDefinition(definition).build();
        }
        List<MessageSummary> messageSummaries = generateMessageSummaries(50);
        Map<String, Object> customMessageModel = teamsEventNotification.getCustomMessageModel(eventNotificationContext, notificationConfig.type(), messageSummaries, DateTimeZone.UTC);
        assertThat(customMessageModel.get("event_definition_description")).isEqualTo("A Description with \\\"Double Quotes\\\"");
    }