     /// Content handlers. Keys are eventId's
     var contentHandlers: [String: ((UNNotificationContent) -> Void)] = [:]
     
-    /// Original contents. Keys are eventId's
-    var originalContents: [String: UNMutableNotificationContent] = [:]
+    /// Best attempt contents. Will be updated incrementally, if something fails during the process, this best attempt content will be showed as notification. Keys are eventId's
+    var bestAttemptContents: [String: UNMutableNotificationContent] = [:]
     
     /// Cached events. Keys are eventId's
     var cachedEvents: [String: MXEvent] = [:]

    }
    
    func processEvent(_ event: MXEvent) {
        guard let content = originalContents[event.eventId], let mxSession = NotificationService.mxSession else {
            self.fallbackToOriginalContent(forEventId: event.eventId)
            return
        }

        //  no need to check before, if it's nil, the badge will remain unchanged
        content.badge = userInfo["unread_count"] as? NSNumber
        
        bestAttemptContents[eventId] = content
        contentHandlers[eventId] = contentHandler
        
        //  setup user account
