     }
     
     private func saveSummary(_ summary: MXRoomSummaryProtocol) {
-        let moc = defaultTempMoc
+        let moc = tempMoc
         
         moc.perform { [weak self] in
             guard let self = self else { return }

            MXRoomMembersCountMO.entityName
        ]
        
        let moc = defaultTempMoc
        
        moc.perform { [weak self] in
            guard let self = self else { return }

    }()
    
    /// Managed object context to be used when inserting data, whose parent context is `mainMoc`.
    private var tempMoc: NSManagedObjectContext {
        let result = NSManagedObjectContext(concurrencyType: .privateQueueConcurrencyType)
        result.automaticallyMergesChangesFromParent = true
        result.mergePolicy = NSMergePolicy.mergeByPropertyObjectTrump
        result.parent = mainMoc
        return result
    }
    /// Managed object context to be used on main thread for fetching data, whose parent context is `persistentMoc`.
    private lazy var mainMoc: NSManagedObjectContext = {
        let result = NSManagedObjectContext(concurrencyType: .mainQueueConcurrencyType)
