A reusable class that combines UICollectionViewDataSource and NSFetchedResultsControllerDelegate