This class tries to encapsulate the boilerplate code that usually is added to a view controller when using a `NSFetchedResultsController` object.  A `UITableView` or a `UICollectionView` can be assigned to instances of this class, and then will be updated on every update, insertion or deletion in the data model