         }
         var isPreparingData = true
         var isComputing: Bool {
-            var result = false
+            var isComputing = false
             self.serialQueue.sync {
-                result = _isComputing
-            }
-            return result
-        }
-        
-        //  Must be called in `serialQueue`
-        private var _isComputing: Bool {
-            return !self.computingSpaces.isEmpty || !self.computingDirectRooms.isEmpty
+                isComputing = !self.computingSpaces.isEmpty || !self.computingDirectRooms.isEmpty
+            }
+            return isComputing
         }
         
         private let serialQueue = DispatchQueue(label: "org.matrix.sdk.MXSpaceService.PrepareDataResult.serialQueue")

        
        func setComputing(_ isComputing: Bool, forSpace space: MXSpace) {
            self.serialQueue.sync {
                if _isComputing {
                    computingSpaces.insert(space.spaceId)
                } else {
                    computingSpaces.remove(space.spaceId)

        
        func setComputing(_ isComputing: Bool, forDirectRoom room: MXRoom) {
            self.serialQueue.sync {
                if isComputing {
                    computingDirectRooms.insert(room.roomId)
                } else {
                    computingDirectRooms.remove(room.roomId)
