                 dragState.dragProxyView.frame = collectionView.convertRect(cell.frame, fromView: cell.superview)
             }, completion: { (Bool) -> Void in
                 dragState.gestureInfo.itemViewModel.dragging = false
-                    
+                
                 dragState.dragProxyView.removeFromSuperview()
                 self.currentDragState = nil
             })

        case longPressRecognizer:
            return true
        case panAndStopGestureRecognizer:
            return true //currentDragState != nil
        default:
            return super.gestureRecognizerShouldBegin(gesture)
        }

    }
    
    func handlePanGesture(gesture: PanAndStopGestureRecognizer) {
        if gesture.state == .Began || gesture.state == .Changed {
            if let dragState = currentDragState {
                let translation = gesture.translationInView(self)
                
                // TODO: I don't think this is right yet... Re-check this math, do we really need both originalCenter and addTranslation
                // saved too?
                dragState.dragProxyView.center = CGPoint(x: dragState.originalCenter.x + translation.x,
                    y: dragState.originalCenter.y + translation.y)
            }
        }
    }
    
    func handlePanGestureStopped(gesture: PanAndStopGestureRecognizer) {
        println("Pan stopped!")
    }
    
    // TODO: Not happy with "info", come up with a better name
