1This is a design choice made to simplify the project as a tutorial, by reducing the number of different components. In a production application, you might choose instead to separate the Shelf from the table view code, so that your data model isn’t coupled to an application framework. There’s a useful principle here: developer documentation is here to show you how to use the technology, not necessarily how to design a solution to your problem.