     }
     
     func scrollTo(_ sting: Sting, animated: Bool = true) {
-        guard let indexPath = dataSource.indexPath(for: sting) else { return }
+        guard let indexPath = dataSource?.indexPath(for: sting) else { return }
         collectionView.scrollToItem(at: indexPath, at: .centeredVertically, animated: animated)
     }
     

        var snapshot = NSDiffableDataSourceSnapshot<Int, Sting>()
        snapshot.appendSections([0])
        snapshot.appendItems(show.stings)
        dataSource.apply(snapshot)
    }
    
    func reloadItems(_ identifiers: [Sting]) {
        #warning("Is there a better way to do this?")
        let uniqueIdentifiers = Array(Set(identifiers))
        var snapshot = dataSource.snapshot()

        guard
            show.stings.count > 1,
            let oldCue = cuedSting,
            let oldCueIndex = dataSource?.indexPath(for: oldCue)?.item
        else { return }
        
        let newCueIndex = (oldCueIndex + 1) % show.stings.count
