             "rvlimit": 51,
             "rvdir": "older",
             "titles": requestParameters.title,
-            "continue": requestParameters.continueKey ?? "",
+            "continue": requestParameters.pagingInfo.continueKey ?? "",
             "format": "json"
             //,"rvdiffto": -1 //Add this to fake out "error" api response.
         ]
         
-        if let rvContinueKey = requestParameters.rvContinueKey {
+        if let rvContinueKey = requestParameters.pagingInfo.rvContinueKey {
             params["rvcontinue"] = rvContinueKey
         }
         

        }
        let batchComplete = responseDict["batchcomplete"] != nil
        
        return HistoryFetchResults(continueKey: continueKey, rvContinueKey: rvContinueKey, batchComplete: batchComplete, revisionsByDay: revisionsByDay, lastRevision: lastRevision)
    }
    
    private typealias RevisionCurrentPrevious = (current: WMFPageHistoryRevision, previous: WMFPageHistoryRevision)

}

private typealias RevisionsByDay = [Int: PageHistorySection]
private typealias PagingInfo = (continueKey: String?, rvContinueKey: String?, batchComplete: Bool)
public class HistoryFetchResults: NSObject {
    private let pagingInfo: PagingInfo
    private let lastRevision: WMFPageHistoryRevision?
    private var revisionsByDay: RevisionsByDay
    
    public func getPageHistoryRequestParameters(title: String) -> PageHistoryRequestParameters {
        return PageHistoryRequestParameters(title: title, pagingInfo: pagingInfo, lastRevisionFromPreviousCall: lastRevision)
    }
    
    public func items() -> [PageHistorySection]  {
        return self.revisionsByDay.keys.sort(<).flatMap() { self.revisionsByDay[$0] }
    }
    
    public func batchComplete() -> Bool {
        return self.pagingInfo.batchComplete
    }
    
    private func tackOn(lastRevisionFromPreviousCall: WMFPageHistoryRevision?) {
