                         }
 
                         it("configures correct height for the cell") {
-                            let cell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: 0, inSection: 0))
+                            let cell = firstCell()
                             expect(cell?.frame.height) == 80
                         }
                     }

                            }

                            it("has the correct cells") {
                                let cell1 = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: 0, inSection: 0))
                                let cell2 = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: 1, inSection: 0))
                                expect(cell1).to(beASampleCell1())
                                expect(cell2).to(beASampleCell1())
                                expect(cell1) !== cell2


                context("when a section is added to the model") {

                    func firstRowIndexPath() -> NSIndexPath {
                        return NSIndexPath(forRow: 0, inSection: 0)
                    }

                    func secondRowIndexPath() -> NSIndexPath {
                        return NSIndexPath(forRow: 1, inSection: 0)
                    }

                    func firstCell() -> UITableViewCell? {
                        return tableView.cellForRowAtIndexPath(firstRowIndexPath())
                    }

                    func secondCell() -> UITableViewCell? {
                        return tableView.cellForRowAtIndexPath(secondRowIndexPath())
                    }

                    var section: TableSection!

                    beforeEach {
