         return shouldAdjust(textView, range: range, text: text)
     }
 
-    open func textViewDidChange(_ textView: UITextView) {
+    public func textViewDidChange(_ textView: UITextView) {
         delegate?.textViewDidChange?(textView)
     }
 
-    open func textView(
+    public func textView(
         _ textView: UITextView,
         shouldInteractWith textAttachment: NSTextAttachment,
         in characterRange: NSRange) -> Bool {

        return true
    }

    open func textViewDidBeginEditing(_ textView: UITextView) {
        delegate?.textViewDidBeginEditing?(textView)
    }

    open func textViewDidChangeSelection(_ textView: UITextView) {
        if editingMention == false {
            adjust(textView, range: textView.selectedRange)
            delegate?.textViewDidChangeSelection?(textView)
        }
    }
    
    open func textViewDidEndEditing(_ textView: UITextView) {
        delegate?.textViewDidEndEditing?(textView)
    }
    
    open func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {
        if let shouldBeginEditing = delegate?.textViewShouldBeginEditing?(textView) {
            return shouldBeginEditing
        }

        return true
    }

    public func textView(
        _ textView: UITextView,
        shouldInteractWith URL: URL,
        in characterRange: NSRange) -> Bool {
