             drop.updateHeight()
             
             drop.topConstraint.constant = 0.0
+            let options: UIViewAnimationOptions = .AllowUserInteraction | .CurveEaseOut
             UIView.animateWithDuration(
                 NSTimeInterval(0.25),
                 delay: NSTimeInterval(0.0),
-                options: UIViewAnimationOptions.AllowUserInteraction | UIViewAnimationOptions.CurveEaseOut,
+                options: options,
                 animations: { [weak drop] () -> Void in
                     if let drop = drop { drop.layoutIfNeeded() }
                 }, completion: nil

            } else {
                restartUpTimer(2.0)
                topConstraint.constant = 0.0
                UIView.animateWithDuration(
                    NSTimeInterval(0.1),
                    delay: NSTimeInterval(0.0),
                    options: UIViewAnimationOptions.AllowUserInteraction | UIViewAnimationOptions.CurveEaseOut,
                    animations: { [weak self] () -> Void in
                        if let s = self { s.layoutIfNeeded() }
                    }, completion: nil

    
    private class func up(drop: Drop, after: Double, interval: NSTimeInterval) {
        drop.topConstraint.constant = drop.heightConstraint.constant
        let options: UIViewAnimationOptions = .AllowUserInteraction | .CurveEaseIn
        UIView.animateWithDuration(
            interval,
            delay: after,
            options: options,
            animations: { [weak drop] () -> Void in
                if let drop = drop {
                    drop.layoutIfNeeded()
