     /// **Important:** This should be called whenever changes are made to the tableView data source or after reloading the tableview
     public func reloadEmptyState(forTableView tableView: UITableView) {
         guard let source = emptyStateDataSource, source.shouldShowEmptyStateView(forTableView: tableView) else {
-            // If shouldnt show view and has been created, hide and allow scrolling
-            if let presentedView = emptyStateView {
-                presentedView.isHidden = true
-                tableView.isScrollEnabled = true
-            }
+            // If shouldnt show view remove from superview, enable scrolling again
+            emptyStateView?.isHidden = true
+            tableView.isScrollEnabled = true
             return
         }
         

    
    /// Private helper method which will create the empty state view if not created, or show it if hidden
    private func showView(forSource source: UIEmptyStateDataSource) {
        // Toggle or create the view if not created yet
        if let createdView = emptyStateView {
            // View was already created we can go ahead and just show it again
            createdView.isHidden = false
        } else {
            // We can create the view now
            let newView = source.viewForEmptyState()

    /// **Important:** This should be called whenever changes are made to the collectionView data source or after reloading the tableview
    public func reloadEmptyState(forCollectionView collectionView: UICollectionView) {
        guard let source = emptyStateDataSource, source.shouldShowEmptyStateView(forCollectionView: collectionView) else {
            // If shouldnt show view remove from superview, enable scrolling again
            emptyStateView?.isHidden = true
            collectionView.isScrollEnabled = true
            return
        }
        
