   }
 
 
-}
+
+
+  func itemBatchStartingIndexPath(deletionsUpToThisPoint deletionsUpToThisPoint: [[NSIndexPath]], givenIndexPath: NSIndexPath) -> NSIndexPath {
+    var offsetCount = 0 // TODO: Use fancy higher order funcs if possible
+    let deletions = deletionsUpToThisPoint[givenIndexPath.section]
+    for deletion in deletions {
+      if deletion.item < givenIndexPath.item { // TODO: Think more about whether this should be <=
+        offsetCount += 1
+      }
+    }
+    return NSIndexPath(forRow: givenIndexPath.item + offsetCount, inSection: givenIndexPath.section)
+  }
+}
+
+
+
+
+
 
 let cellForItem = { (collectionView: UICollectionView, item: Color, indexPath: NSIndexPath) -> UICollectionViewCell in
   let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath)

            let x = 1
          case .AppendItem(_, let sectionIndex): // Item, Section Index
            if sectionAdditions[sectionIndex] == nil {
              let startingRange = sectionStartingRanges[sectionIndex]
              sectionAdditions[sectionIndex] = startingRange.endIndex..<startingRange.endIndex
            }
            if let sectionAdditionsForSection = sectionAdditions[sectionIndex] {

    return NSIndexPath(forItem: 0, inSection: 0)
  }

//  interactionHandler.safeDataSource.deleteLastItemInSection(0)
//  interactionHandler.safeDataSource.deleteLastItemInSection(0)
//  interactionHandler.safeDataSource.deleteLastItemInSection(0)
//  interactionHandler.safeDataSource.deleteLastItemInSection(0)
//  interactionHandler.safeDataSource.deleteLastItemInSection(0)
//  interactionHandler.safeDataSource.deleteLastItemInSection(0)
//  interactionHandler.safeDataSource.deleteLastItemInSection(0)
//  interactionHandler.safeDataSource.deleteLastItemInSection(0)
//  interactionHandler.safeDataSource.deleteLastItemInSection(0)
//  interactionHandler.safeDataSource.deleteLastItemInSection(0)
//  interactionHandler.safeDataSource.deleteLastItemInSection(0)
//  interactionHandler.safeDataSource.deleteLastItemInSection(0)
//  interactionHandler.safeDataSource.deleteLastItemInSection(0)
//  interactionHandler.safeDataSource.deleteLastItemInSection(0)
//  interactionHandler.safeDataSource.deleteLastItemInSection(0) // TODO: uncomment and support this use case

}
