     func observeAlbums(handler: @escaping ([PhotoLibraryAlbum]) -> ()) {
         executeAfterSetup {
             self.onAlbumsChange = handler
-            handler(self.fetchResult?.albums ?? [])
+            handler(self.fetchResults.flatMap { $0.albums } ?? [])
         }
     }
     

final class PhotoLibraryItemsServiceImpl: NSObject, PhotoLibraryItemsService, PHPhotoLibraryChangeObserver {
    
    private let photoLibrary = PHPhotoLibrary.shared()
    private var fetchResult: PhotoLibraryFetchResult?
    
    private let fetchResultQueue = DispatchQueue(
        label: "ru.avito.Paparazzo.PhotoLibraryItemsServiceImpl.fetchResultQueue",

        fetchResultQueue.async {
            
            let options = self.phFetchOptions()
            var fetchResults = [PhotoLibraryFetchResult]()
            
            let collectionsFetchResults = [
                PHAssetCollection.fetchAssetCollections(with: .album, subtype: .any, options: options),
                PHAssetCollection.fetchAssetCollections(with: .smartAlbum, subtype: .any, options: options)
            ]
            
            collectionsFetchResults.enumerated().forEach { index, collectionsFetchResult in
                
                var albums = [PhotoLibraryAlbum]()
                
                if index == 0 {
                    albums.append(self.photoLibraryAlbum(
                        identifier: "ru.avito.Paparazzo.PhotoLibraryAlbum.identifier.allPhotos",
                        title: localized("All photos"),
                        fetchResult: PHAsset.fetchAssets(with: .image, options: options)
                    ))
                }
                
                collectionsFetchResult.enumerateObjects(using: { collection, _, _ in
                    albums.append(self.photoLibraryAlbum(from: collection, fetchOptions: options))
                })
                
                fetchResults.append(PhotoLibraryFetchResult(albums: albums, phFetchResult: collectionsFetchResult))
            }
            
            self.fetchResults = fetchResults
            self.photoLibrary.register(self)

            DispatchQueue.main.async(execute: completion)
