             tableView.fillSuperview()
         }
 
+        if let emptyView = themeDelegate?.crudViewControllerEmptyStateView?(crudViewController: self) {
+            self.emptyView = emptyView
+            view.addSubview(emptyView)
+            emptyView.edgeAnchors == view.edgeAnchors
+            self.toggle(emptyState: self.numberOfEntities() == 0, animated: false)
+        }
     }
 
     func addItemRowIndexPath() -> IndexPath {


// MARK: Private
private extension CrudViewController {

    func setLookAndFeel() {
        if searchDelegate.crudViewControllerShouldEnableSearch(crudViewController: self), let searchField = searchField, let searchContainer = searchContainer, let searchCancelButton = searchCancelButton {

    private var crudName: String!
    private var originalFetchRequestPredicate: NSPredicate?
    fileprivate var logger: Logger?
    private var emptyView: UIView?
    typealias UpdateTable = [NSFetchedResultsChangeType: [IndexPath]]
    private var tableUpdates: UpdateTable?

