             if let cell = self.cellForItemAtIndexPath(NSIndexPath(forItem: self.items.count - 1, inSection: 0)) as? TFBubbleItUpViewCell {
                 cell.configureWithItem(self.items[self.items.count - 1])
                 cell.resignFirstResponder()
-                self.needUpdateLayout(cell, completion: completion)
+                self.needUpdateLayout(cell)
+                completion?()
             }
 //            self.bubbleItUpDelegate?.bubbleItUpViewDidChange?(self, text:text)
             

        frame.size.width = cell.intrinsicContentSize().width
        cell.frame = frame
        
        self.invalidateIntrinsicContentSize(completion)
    }
    
    internal func createAndSwitchToNewCell(cell: TFBubbleItUpViewCell) {

        self.bubbleItUpDelegate?.bubbleItUpViewDidChange?(self, text:text)
    }

    internal func needUpdateLayout(cell: TFBubbleItUpViewCell) {
        self.collectionViewLayout.invalidateLayout()

        // Update cell frame by its intrinsic size
