         photoLibraryItemsService.observePhotos { [weak self] assets in
             guard let strongSelf = self else { return }
             
-            let items = assets.map { asset -> PhotoLibraryItem in
-                
-                let identifier = asset.localIdentifier
-                let image = PhotoLibraryAssetImage(asset: asset)
-                
-                return PhotoLibraryItem(
-                    identifier: identifier,
-                    image: image,
-                    selected: strongSelf.selectedItems.contains { $0.identifier == identifier }
-                )
-            }
+            strongSelf.removeSelectedItemsNotPresentedAmongAssets(assets)
             
             handler((
-                items: items,
+                items: strongSelf.photoLibraryItems(from: assets),
                 selectionState: strongSelf.selectionState()
             ))
         }

            canSelectMoreItems: canSelectMoreItems()
        )
    }
}

import Foundation
import Photos

final class PhotoLibraryInteractorImpl: PhotoLibraryInteractor {
    
