     private class func down(status: String, state: DropStatable?, blur: DropBlur?) {
         self.upAll()
         let drop = Drop(frame: CGRectZero)
-        Drop.window().addSubview(drop)
+        UIApplication.sharedApplication().keyWindow?.addSubview(drop)
+        guard let window = drop.window else { return }
         
         let sideConstraints = ([.Left, .Right] as [NSLayoutAttribute]).map {
             return NSLayoutConstraint(
                 item: drop,
                 attribute: $0,
                 relatedBy: .Equal,
-                toItem: Drop.window(),
+                toItem: window,
                 attribute: $0,
                 multiplier: 1.0,
                 constant: 0.0

}

extension Drop {
    private class func window() -> UIWindow {
        return UIApplication.sharedApplication().keyWindow!
    }
    
    private class func statusBarHeight() -> CGFloat {
        return UIApplication.sharedApplication().statusBarFrame.size.height
    }

            stopUpTimer()
            startTop = topConstraint.constant
        case .Changed:
            guard let window = window else { break }
            let translation = pan.translationInView(window)
            let top = startTop! + translation.y
            if top > 0.0 {
                topConstraint.constant = top * 0.2
