                     }
                     // start caching for inserted assets
                     cache(assets: insertedAssets, size: pickerConfig.assetCacheSize)
-                    DispatchQueue.main.async {
+                    DispatchQueue.main.sync {
                         for subscriber in self.subscribers {
                             subscriber.assetsManager(manager: self, insertedAssets: insertedAssets, at: insertedIndexes)
                         }

                        logc("Error on model manipulation logic. Failed to find insertes index in sortedAlbumsArray.")
                    }
                }
                DispatchQueue.main.async {
                    for subscriber in self.subscribers {
                        subscriber.assetsManager(manager: self, insertedAlbums: insertedAlbums, at: insertedIndexesInSortedAlbums)
                    }

                }
                
                if let albumIndexPath = self.indexPath(forAlbum: album), isThumbnailChanged(changeDetails: assetsChangeDetails) {
                    DispatchQueue.main.sync {
                        for subscriber in self.subscribers {
                            subscriber.assetsManager(manager: self, reloadedAlbum: album, at: albumIndexPath)
                        }
