       snapshot?.center = center
       
       if cellMoved(sourceIndexPath!, indexPath: indexPath!) {
-        delegate!.updateDataSource(sourceIndexPath!.row, destinationRow: indexPath!.row)
         displaceCellAnimation(tableView, indexPath: indexPath!)
       }
       
       self.previousIndexPath = indexPath
       
     default:
-      delegate!.savePosition(permuteIndex, endRow: indexPath!.row)
       depositCellAnimation(tableView, indexPath: indexPath!)
+      delegate!.didEndLongPress(startIndex, endIndex: indexPath!.row)
 
       break
     }

  private var sourceIndexPath: NSIndexPath?
  private var previousIndexPath: NSIndexPath?
  private var backupIndexPath: NSIndexPath?
  private var permuteIndex: Int!
  
  public init(delegate: JRLongPressGestureHandlerDelegate) {
    self.delegate = delegate

import UIKit

public protocol JRLongPressGestureHandlerDelegate: class {
  func didEndLongPress(startIndex: Int, endIndex: Int)
}

public class JRLongPressGestureHandler {
