             let unformattedText = value ?? ""
             let formattedText = self.formattedText(fromText: unformattedText, textMask: textMask, cursorPosition: &cursorPosition)
             if formattedText.characters.count > 0 || value != nil {
-                self.formattedText = formattedText
+                text = formattedText
             } else {
-                self.formattedText = nil
+                text = nil
             }
             placeholderLabel.isHidden = (unformattedText.characters.count > 0)
         }

    }

    // MARK: - Private
    private var maskSymbol: Character {
        return type(of: self).maskSymbol
    }

    }()

    private func shouldChangeCharacters(in range: NSRange, replacementString string: String) -> Bool {
        if let shouldChange = delegateProxy.delegate?.textField?(self, shouldChangeCharactersIn: range, replacementString: string) {
            if !shouldChange {
                return false
            }
        }

        let formattedText = text ?? ""
        var charachtersRange = formattedText.nsrange(fromRange: formattedText.range(fromUtf16NsRange: range)!)

        var cursorPosition: Int
