         layoutCache.reset()
     }
     
+    // MARK - UICollectionViewDataSource
+    
     override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
         guard let sections = fetchedResultsController.sections, sections.count > section else {
             return 0

    lazy var layoutCache: ColumnarCollectionViewControllerLayoutCache = {
       return ColumnarCollectionViewControllerLayoutCache()
    }()
    
    @objc var dataStore: MWKDataStore! {
        didSet {

    }
    
    override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let maybeCell = collectionView.dequeueReusableCell(withReuseIdentifier: ExploreCardCollectionViewCell.identifier, for: indexPath)
        guard let cell = maybeCell as? ExploreCardCollectionViewCell else {
            return maybeCell
        }
