         self.addConstraint(heightConstraint)
         scheduleUpTimer(4.0)
         
-        NSNotificationCenter
-            .defaultCenter()
-            .addObserver(self, selector: "remove", name: UIApplicationDidEnterBackgroundNotification, object: nil)
+        NSNotificationCenter.defaultCenter().addObserverForName(UIApplicationDidEnterBackgroundNotification, object: nil, queue: nil) { [weak self] notification in
+            if let s = self {
+                s.stopUpTimer()
+                s.removeFromSuperview()
+            }
+        }
     }
     
     required public init(coder aDecoder: NSCoder) {

                    drop.layoutIfNeeded()
                }
            }) { [weak drop] finished -> Void in
                if let drop = drop { drop.removeFromSuperview() }
        }
    }
    

    
    func up() {
        scheduleUpTimer(0.0)
    }
    
    func upFromTimer(timer: NSTimer) {
