 // MARK: setTitle Override Implementation
 private extension TextButton {
     func _setTitle(_ title: String?, for state: UIControlState) {
-        if title?.isEmpty ?? true {
-            self.setAttributedTitle(nil, for: state)
-            return
-        }
-        
-        let titleColor: UIColor = self.titleColor(for: state) ?? .black
-        let underlineStyle: NSUnderlineStyle = self.underlined ? .styleSingle : .styleNone
-        let attributes: [NSAttributedStringKey : Any] = [
-            .foregroundColor: titleColor,
-            .underlineStyle: underlineStyle.rawValue
-        ]
-        
-        let attributedTitle: NSAttributedString = NSAttributedString(
-            string: title!,
-            attributes: attributes
-        )
-        
         super.setTitle(title, for: state)
-        self.setAttributedTitle(attributedTitle, for: state)
+        self._setAttributedTitle(title, for: state)
     }
 }
 

// MARK: // Public
// MARK: Interface
public extension TextButton {
    public var underlined: Bool {
        get {
            return self._underlined



// MARK: // Private
// MARK: Computed Variables
private extension TextButton {
    var _highlightedAlpha: CGFloat {
        get {
            return self.__highlightedAlpha
        }
        set(newHighlightedAlpha) {
            guard newHighlightedAlpha != self.__highlightedAlpha else { return }
            self.__highlightedAlpha = newHighlightedAlpha
            let titleColor: UIColor = self.titleColor(for: .highlighted) ?? .black
            let highlightedTitleColor: UIColor = titleColor.withAlpha(self.highlightedAlpha)
            self.setTitleColor(highlightedTitleColor, for: .highlighted)
        }
    }
    
    var _underlined: Bool {
        get {
            return self.__underlined
        }
        set(newUnderlined) {
            guard newUnderlined != self.__underlined else { return }
            self.__underlined = newUnderlined
            self._updateAttributedTitle(for: state)
        }
    }
}


// MARK: Setup Override Implementation
private extension TextButton {
    func _setup() {
        super.setup()
        self.xPadding = 0
        self.yPadding = 0
    }
}

