         })
     }
     
+    //Mark: Paging
+    private var continueKey: String?
+    private var rvContinueKey: String?
+    var batchComplete: Bool = false
+    
     private func updatePagingState(responseObject: AnyObject) {
         if let continueInfo = responseObject["continue"] as? [String: AnyObject] {
             continueKey = continueInfo["continue"] as? String

        }
    }
    
    private typealias RevisionCurrentPrevious = (current: WMFPageHistoryRevision, previous: WMFPageHistoryRevision)
    private typealias RevisionsByDay = [Int: WMFPageHistorySection]


            let transformer = MTLJSONAdapter.arrayTransformerWithModelClass(WMFPageHistoryRevision.self)
            
            guard let revisions = transformer.transformedValue(value["revisions"]) as? [WMFPageHistoryRevision] else { return [] }
            let reverseRevisions = Array(revisions.reverse())
            
            revisionsByDay = parse(revisions: reverseRevisions, existingRevisions: revisionsByDay)
        }
        
        return revisionsByDay.keys.sort(>).flatMap() { revisionsByDay[$0] }
    }
    
    private func parse(revisions revisions: [WMFPageHistoryRevision], existingRevisions: RevisionsByDay) -> RevisionsByDay {
        return zip(revisions, revisions.dropFirst()).reduce(existingRevisions, combine: { (revisionsByDay, itemPair: RevisionCurrentPrevious) -> RevisionsByDay in
            var revisionsByDay = revisionsByDay
            
            itemPair.current.revisionSize = itemPair.current.articleSizeAtRevision - itemPair.previous.articleSizeAtRevision
            update(revisionsByDay:&revisionsByDay, revision: itemPair.current)
            
            return revisionsByDay
        })
    }
    
    private func update(inout revisionsByDay revisionsByDay: RevisionsByDay, revision: WMFPageHistoryRevision) {
