     }
 
     private func performRealmOperations(with block: @escaping (Realm) -> Void) {
-        let config = storage.realm.configuration
-
-        workQueue.async { [weak self] in
-            guard let self = self else { return }
-
-            do {
-                let queueRealm = try Realm(configuration: config)
-
-                queueRealm.beginWrite()
-
-                block(queueRealm)
-
-                try queueRealm.commitWrite()
-            } catch {
-                os_log("Failed to perform Realm transaction: %{public}@", log: self.log, type: .error, String(describing: error))
-            }
+        do {
+            storage.realm.beginWrite()
+
+            block(storage.realm)
+
+            try storage.realm.commitWrite(withoutNotifying: realmNotificationTokens)
+        } catch {
+            os_log("Failed to perform Realm transaction: %{public}@", log: self.log, type: .error, String(describing: error))
         }
     }
 

        }
        set {
            guard let newValue = newValue else {
                defaults.setNilValueForKey(#function)
                return
            }


    private var realmNotificationTokens: [NotificationToken] = []

    private func observeLocalChanges() {
        guard !storage.realm.isInWriteTransaction else {
            os_log("Realm is in a write transaction, waiting before registering observers", log: self.log, type: .debug)
            DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
                self.observeLocalChanges()
            }
            return
        }
        
        registerRealmObserver(for: Favorite.self)
        registerRealmObserver(for: Bookmark.self)
        registerRealmObserver(for: SessionProgress.self)
