         super.saveChanges()
     }
 
-    // MARK: - UITextViewDelegate
-
-    func textViewDidChange(textView: UITextView) {
+    func updateTextView() {
         let heightOffset = textView.contentSize.height - textView.bounds.size.height
         if heightOffset > 0 {
             let origin = frame.origin

            setNeedsDisplay()
        }
    }

    func textViewDidEndEditing(textView: UITextView) {
        saveChanges()


        addSubview(textView)
    }
    
    override func handlePanTranslation(translation: CGPoint) -> CGRect {
        let rect = super.handlePanTranslation(translation)
        updateTextView()
        return rect
    }
    
    override func handleDoubleTap(tapGestureRecognizer: UITapGestureRecognizer) {
        textView.becomeFirstResponder()
    }
