                 setTitleTextAttributes(attrs, for: state)
         }
         
-        public override func defaultVizFigFonterize(_ font: UIFont) {
+        open override func defaultVizFigFonterize(_ font: UIFont) {
             updateTitleTextAttrs(NSFontAttributeName, value: font, state: UIControlState())
             updateTitleTextAttrs(NSFontAttributeName, value: font, state: .highlighted)
         }
-        public override func defaultVizFigColorize(_ color: UIColor) {
+        open override func defaultVizFigColorize(_ color: UIColor) {
             updateTitleTextAttrs(NSForegroundColorAttributeName, value: color, state: UIControlState())
             updateTitleTextAttrs(NSForegroundColorAttributeName, value: color, state: .highlighted)
         }

#if os(iOS)

    extension UIView: DefaultVizFigable {
        public func defaultVizFigFonterize(_ font: UIFont) {
            // no fonts for UIViews
        }
        public func defaultVizFigBgColorize(_ color: UIColor) {
            backgroundColor = color
        }
        public func defaultVizFigColorize(_ color: UIColor) {
            backgroundColor = color
        }
        public func defaultVizFigStringify(_ string: String) {
            // no string for basic view
        }
    }

    extension UILabel {
        public override func defaultVizFigFonterize(_ font: UIFont) {
            self.font = font
        }
        public override func defaultVizFigColorize(_ color: UIColor) {
            textColor = color
        }
        public override func defaultVizFigStringify(_ string: String) {
            text = string
        }
    }

    extension UITextField {
        public override func defaultVizFigFonterize(_ font: UIFont) {
            self.font = font
        }
        public override func defaultVizFigColorize(_ color: UIColor) {
            textColor = color
        }
        public override func defaultVizFigStringify(_ string: String) {
            text = string
        }
    }
    
    extension UITextView {
        public override func defaultVizFigFonterize(_ font: UIFont) {
            self.font = font
        }
        public override func defaultVizFigColorize(_ color: UIColor) {
            textColor = color
        }
        public override func defaultVizFigStringify(_ string: String) {
            text = string
        }
    }
    
    extension UIButton {
        public override func defaultVizFigFonterize(_ font: UIFont) {
            titleLabel?.font = font
        }
        public override func defaultVizFigColorize(_ color: UIColor) {
            setTitleColor(color, for: .highlighted)
            setTitleColor(color, for: UIControlState())
        }
        public override func defaultVizFigStringify(_ string: String) {
            setTitle(string, for: .highlighted)
            setTitle(string, for: UIControlState())
        }
    }

    extension UISwitch {
        public override func defaultVizFigColorize(_ color: UIColor) {
            onTintColor = color
        }
    }

    extension UIActivityIndicatorView {
        public override func defaultVizFigColorize(_ color: UIColor) {
            self.color = color
        }
    }
    
    extension UISlider {
        public override func defaultVizFigColorize(_ color: UIColor) {
            tintColor = color
        }
    }

#if os(iOS)
    import UIKit
    
    open typealias BaseView = UIView
    open typealias Color = UIColor
    open typealias Font = UIFont
#else
    //OSX
    open typealias BaseView = NSView
    open typealias Color = NSColor
    open typealias Font = NSFont
#endif

open class BaseConfigView: BaseView {
