             } else {
                 restartUpTimer(2.0)
                 topConstraint.constant = 0.0
+                let options: UIViewAnimationOptions = .AllowUserInteraction | .CurveEaseOut
                 UIView.animateWithDuration(
                     NSTimeInterval(0.1),
                     delay: NSTimeInterval(0.0),
-                    options: UIViewAnimationOptions.AllowUserInteraction | UIViewAnimationOptions.CurveEaseOut,
+                    options: options,
                     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
        UIView.animateWithDuration(
            interval,
            delay: after,
            options: UIViewAnimationOptions.AllowUserInteraction | UIViewAnimationOptions.CurveEaseIn,
            animations: { [weak drop] () -> Void in
                if let drop = drop {
                    drop.layoutIfNeeded()

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