      **Note:**
      This view corresponds and is created from
      the UIEmptyDataSource method: `func viewForEmptyState() -> UIView`
+
+     To set this view, use `UIEmptyStateDataSource.emptyStateView`.
      
      By default this view is of type `UIEmptyStateView`
      */
-    public var emptyStateView: UIView? {
+    private var emptyView: UIView? {
         get { return objc_getAssociatedObject(self, &Keys.emptyStateView) as? UIView }
         set {
             objc_setAssociatedObject(self, &Keys.emptyStateView, newValue, .OBJC_ASSOCIATION_RETAIN)
             // Set the views delegate
-            if let view = emptyStateView as? UIEmptyStateView { view.delegate = emptyStateDelegate }
+            if let view = emptyView as? UIEmptyStateView { view.delegate = emptyStateDelegate }
         }
     }
     

            // Call the will show delegate
            self.emptyStateDelegate?.emptyStateViewWillShow(view: newView)
            // Add to emptyStateView property
            emptyStateView = newView
            // Add as a subView, bring it infront of the tableView
            self.view.addSubview(newView)
            self.view.bringSubview(toFront: newView)

        guard let source = emptyStateDataSource,
            source.emptyStateViewShouldShow(for: collectionView) else {
                // Call the will hide delegate
                if let view = emptyView {
                    self.emptyStateDelegate?.emptyStateViewWillHide(view: view)
                }
                // If shouldnt show view remove from superview, enable scrolling again
                emptyView?.isHidden = true
                collectionView.isScrollEnabled = true
                // Also return edges for extended layout to the default values, if adjusted
                if emptyStateDataSource?.emptyStateViewAdjustsToFitBars ?? false {
