Specifically UITableView is a bad example here, because UITableView relies heavily on the `UITableViewDelegate` and `UITableViewDataSource`.
For that, though, you should make a separate class for the TableViewModel, to keep that code out of your ViewControllers.