         let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(didTapBubble))
         bubble.addGestureRecognizer(tapRecognizer)
         tapRecognizers[bubble] = tapRecognizer
+
+        let panRecognizer = UIPanGestureRecognizer()
+        panRecognizer.addTarget(self, action: #selector(didPanBubble))
+        bubble.addGestureRecognizer(panRecognizer)
+        panRecognizers[bubble] = panRecognizer
+
         bubble.frame = CGRect(origin: origin, size: CGSize(width: 100, height: 100))
         bubble.transform = CGAffineTransformMakeScale(0.1, 0.1)
         addSubview(bubble)


        // Remove all related
        let currentRelatedViews = currentRelated.map{indexToBubble[$0]}.flatMap{$0}
        currentRelatedViews.forEach{self.disengageRelated($0)}
        currentRelatedViews.forEach{removeBubble($0)}

        // Add new focused

            // Two cases. Current focused is in the new related or it isn't
            if (newRelated.contains(oldFocused.index!)) {

                animator.addAttachment(oldFocused)
            } else {
                removeBubble(oldFocused)
