         let translation = recognizer.translationInView(collectionView!)
         switch recognizer.state {
         case .Changed:
-            NSLog("[DRAGGING] pangesture .Changed translation=\(translation)")
             if let proxy = dragProxy {
                 proxy.center.x = proxy.fromCenter.x + translation.x
                 //TODO: Constrain to be within collectionView.frame:

            panGestureRecgonizer.delegate = self
            panGestureRecgonizer.maximumNumberOfTouches = 1

            collectionView.panGestureRecognizer.requireGestureRecognizerToFail(longPressGestureRecognizer)

            collectionView.addGestureRecognizer(longPressGestureRecognizer)
            collectionView.addGestureRecognizer(panGestureRecgonizer)
        }

    // MARK: - UIGestureRecognizerDelegate

    func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        if gestureRecognizer == longPressGestureRecognizer && otherGestureRecognizer == panGestureRecgonizer {
            return true
        } else if gestureRecognizer == panGestureRecgonizer {
            return otherGestureRecognizer == longPressGestureRecognizer
        }

        return true
    }

    func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
        let states: [UIGestureRecognizerState] = [.Possible, .Failed]
        if gestureRecognizer == longPressGestureRecognizer && !contains(states, collectionView!.panGestureRecognizer.state) {
            return false
        } else if gestureRecognizer == panGestureRecgonizer && contains(states, longPressGestureRecognizer.state) {
            return false
        }

        return true
