         case .Loading:
             resetToPossibleState()
             showLoadingView()
-            hidden = false
             break
         case .Failed:
             resetToPossibleState()
             showReloadView()
-            hidden = false
             break
         case .Success:
             resetToPossibleState()

            debugLog("Could not determine reloadView")
            return
        }
        
        addSubview(reloadView)
        reloadView.autoPinEdgesToSuperviewEdges()
        dataSourceReloadType.setupForReloadType(ReloadReason.GeneralError)

            debugLog("No loading view provided!")
            return
        }
        hidden = false
        emptyView = dataSourceEmptyView
        addSubview(emptyView!)
        emptyView?.autoPinEdgesToSuperviewEdges()
