     ///
     private(set) public var textView: UITextView
 
-    /// Helper Computed Property!
-    ///
-    var layoutManager: NSLayoutManager {
+    /// TextKit's Layout Manager
+    ///
+    private var layoutManager: NSLayoutManager {
         return textView.layoutManager
+    }
+
+    /// Aztec Custom TextStorage
+    ///
+    private var textStorage: AztecTextStorage {
+        return textView.textStorage as! AztecTextStorage
     }
 
 


    /// Nukes all of the ExclusionPaths associated to the AttachmentViews collection.
    ///
    private func removeAttachmentExclusionPaths() {
        let textContainer = textView.textContainer

        let paths = attachmentViews.flatMap { (identifier, attachmentView) -> UIBezierPath? in

    ///
    /// - Returns: The frame for the specified custom attachment view.
    ///
    func frameForAttachmentView(attachmentView: AztecAttachmentView, forAttachment attachment: AztecTextAttachment, atRange range:NSRange) -> CGRect {
        let glyphRange = layoutManager.glyphRangeForCharacterRange(range, actualCharacterRange: nil)
        guard let textContainer = layoutManager.textContainerForGlyphAtIndex(glyphRange.location, effectiveRange: nil) else {
            return CGRectZero
