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

    }
    
    internal func setup(){
        initOnForegroundObserver()
        initReachabilityMonitoring()
    }

}

public protocol ALDataRequestViewDataSource : class {
    func loadingViewForDataRequestView(dataRequestView: ALDataRequestView) -> UIView?
    func reloadViewControllerForDataRequestView(dataRequestView: ALDataRequestView) -> ALDataReloadType?
    func emptyViewForDataRequestView(dataRequestView: ALDataRequestView) -> UIView?
}

// Make methods optional with default implementations
public extension ALDataRequestViewDataSource {
    func loadingViewForDataRequestView(dataRequestView: ALDataRequestView) -> UIView? { return nil }
    func reloadViewControllerForDataRequestView(dataRequestView: ALDataRequestView) -> ALDataReloadType? { return nil }
    func emptyViewForDataRequestView(dataRequestView: ALDataRequestView) -> UIView? { return nil }
}

public class ALDataRequestView: UIView {
