         let secondItem = StubHomepageInterfaceItemViewModel(title: "Some other title")
         let viewModel = StubHomepageInterfaceViewModel(items: [firstItem, secondItem])
         updateInterface(viewModel: viewModel, applyingDifferences: [])
-        let cell = homepageViewController.collectionView.cellForItem(at: IndexPath(item: 1, section: 0)) as? HomepageItemCollectionViewCell
 
-        XCTAssertEqual(secondItem.title, cell?.itemTitleLabel.text)
+        XCTAssertEqual(secondItem.title, cellForItem(at: 1)?.itemTitleLabel.text)
     }
 
 }

        let item = StubHomepageInterfaceItemViewModel()
        let viewModel = StubHomepageInterfaceViewModel(items: [item])
        updateInterface(viewModel: viewModel, applyingDifferences: [])
        let cell = homepageViewController.collectionView.cellForItem(at: IndexPath(item: 0, section: 0))

        XCTAssertTrue(cell is HomepageItemCollectionViewCell)
    }

    func testDequeuedHomepageItemCellsShouldHaveLabels() {
        let item = StubHomepageInterfaceItemViewModel()
        let viewModel = StubHomepageInterfaceViewModel(items: [item])
        updateInterface(viewModel: viewModel, applyingDifferences: [])
        let cell = homepageViewController.collectionView.cellForItem(at: IndexPath(item: 0, section: 0)) as? HomepageItemCollectionViewCell

        XCTAssertNotNil(cell?.itemTitleLabel)
    }

    func testDequeuedItemCellShouldBeConfiguredWithTheTitleFromTheViewModel() {
        let item = StubHomepageInterfaceItemViewModel(title: "Some title")
        let viewModel = StubHomepageInterfaceViewModel(items: [item])
        updateInterface(viewModel: viewModel, applyingDifferences: [])
        let cell = homepageViewController.collectionView.cellForItem(at: IndexPath(item: 0, section: 0)) as? HomepageItemCollectionViewCell

        XCTAssertEqual(item.title, cell?.itemTitleLabel.text)
    }

    func testDequeuedItemsShouldBeProvidedWithCorrectTitlesFromViewModel() {

    private func updateInterface(viewModel: HomepageInterfaceViewModel, applyingDifferences diffs: [Difference]) {
        homepageViewController.updateInterface(viewModel: viewModel, applyingDifferences: [])
        homepageViewController.collectionView.layoutIfNeeded()
    }

    private func cellForItem(at index: Int) -> HomepageItemCollectionViewCell? {
        let indexPath = IndexPath(item: index, section: 0)
        let cell = homepageViewController.collectionView.cellForItem(at: indexPath)
        return cell as? HomepageItemCollectionViewCell
    }

    func testHasHomeAsTheTitle() {
