                     if let drop = drop { drop.layoutIfNeeded() }
                 }, completion: nil
             )
-            up(drop, after: 4.0)
         }
     }
     

    func pan(sender: AnyObject) {
        let pan = sender as! UIPanGestureRecognizer
        switch pan.state {
        case .Began, .Changed:
            if let window = Drop.window() {
                removable = false
                
                let point = pan.translationInView(window)
                let location = pan.locationInView(window)
                

            constant: 100.0
        )
        self.addConstraint(heightConstraint)
        restartUpTimer(4.0)
    }
    
    required public init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
    
    deinit {
        upTimer?.invalidate()
        upTimer = nil
    }
    
    func up() {
        Drop.up(self)
    }
    
    private func restartUpTimer(after: Double) {
        upTimer?.invalidate()
        upTimer = nil
        upTimer = NSTimer.scheduledTimerWithTimeInterval(after, target: self, selector: "up", userInfo: nil, repeats: false)
    }
    
    private func updateHeight() {
