     private func removeBubble(bubble: BubbleView) {
         tapRecognizers.removeValueForKey(bubble)
         removeBehaviors(bubble)
-        bubble.removeFromSuperview()
+        UIView.animateWithDuration(0.4, delay: 0.0, usingSpringWithDamping: 0.2, initialSpringVelocity: 2.0, options: .CurveEaseIn, animations: {
+            bubble.transform = CGAffineTransformMakeScale(0.1, 0.1)
+            }) { (_) in
+                bubble.removeFromSuperview()
+                bubble.transform = CGAffineTransformMakeScale(1.0, 1.0)
+        }
         indexToBubble.removeValueForKey(bubble.index!)
         bubble.index = nil
     }

            let newFocused = self.dataSource!.configureBubble(bubbleIndex)
            newFocused.index = bubbleIndex
            // We have to add it to the hiearchy
            newFocused.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
            addBubble(newFocused)
            configureFocused(newFocused)
        }

    func didSelectBubble(bubble: Int)
}

public class BubbleViewController: UIViewController, UICollisionBehaviorDelegate {
    public var dataSource: BubbleViewDataSource?
    public var delegate: BubbleViewDelegate?
    var animator: UIDynamicAnimator!
