             })
         }
     }
-    internal var color: UIColor = Appearance.defaultAppearance.state.color!
-    internal var selectedColor: UIColor = Appearance.defaultAppearance.state.selectedColor!
-    
-    internal var itemVerticalPadding: CGFloat = Appearance.defaultAppearance.layout.itemVerticalPadding! {
+    public var color: UIColor = Appearance.defaultAppearance.state.color!
+    public var selectedColor: UIColor = Appearance.defaultAppearance.state.selectedColor!
+    
+    public var itemVerticalPadding: CGFloat = Appearance.defaultAppearance.layout.itemVerticalPadding! {
         didSet {
             guard itemVerticalPadding != oldValue else { return }
             

            }
        }
    }
    
    internal var horizontalMarginConstraints = [NSLayoutConstraint]()
    internal var edgeMarginConstraints = [NSLayoutConstraint]()
    
    internal var focussedButton: UIButton? {
        didSet {
            guard focussedButton !== oldValue else { return }
            
            focussedButton?.setTitleColor(self.selectedColor, for: .normal)
            focussedButton?.tintColor = self.selectedColor
            oldValue?.setTitleColor(self.color, for: .normal)
            oldValue?.tintColor = self.color
        }
    }
    
    // Public
    
    /// The spacing between each bar item.
    public var interItemSpacing: CGFloat = Appearance.defaultAppearance.layout.interItemSpacing! {
        didSet {

    
    internal var buttons = [UIButton]()
    
    internal var horizontalMarginConstraints = [NSLayoutConstraint]()
    internal var edgeMarginConstraints = [NSLayoutConstraint]()
    
    internal var focussedButton: UIButton? {
        didSet {
            guard focussedButton !== oldValue else { return }
            
            focussedButton?.setTitleColor(self.selectedColor, for: .normal)
            focussedButton?.tintColor = self.selectedColor
            oldValue?.setTitleColor(self.color, for: .normal)
            oldValue?.tintColor = self.color
        }
    }
    
    public var textFont: UIFont = Appearance.defaultAppearance.text.font! {
        didSet {
            guard textFont != oldValue else { return }
            
