             return "Custom"
         }
     }
+    
+    static func fromDescription(_ description: String) -> TabmanBar.Style {
+        switch description {
+            
+        case "Button Bar":
+            return .buttonBar    
+        case "Scrolling Button Bar":
+            return .scrollingButtonBar
+            
+        default:
+            return .bar
+        }
+    }
 }
+
+fileprivate extension TabmanIndicator.Style {
+    
+    var description: String {
+        switch self {
+        case .line:
+            return "Line"
+        case .dot:
+            return "Dot"
+        case .block:
+            return "Block"
+        case .none:
+            return "None"
+            
+        default:
+            return "Custom"
+        }
+    }
+    
+    static func fromDescription(_ description: String) -> TabmanIndicator.Style {
+        switch description {
+        case "Line":
+            return .line
+        case "Dot":
+            return .dot
+        case "Block":
+            return .block
+
+        default:
+            return .none
+        }
+    }
+}


fileprivate extension TabmanBar.Style {
    
    static func fromDescription(_ description: String) -> TabmanBar.Style {
        switch description {
            
        case "Button Bar":
            return .buttonBar    
        case "Scrolling Button Bar":
            return .scrollingButtonBar
            
        default:
            return .bar
        }
    }
    
    var description: String {
        switch self {
        case .bar:

                self.tabViewController?.bar.style = style
                self.tabViewController?.bar.appearance = PresetAppeareanceConfigs.forStyle(style,
                                                                                           currentAppearance: self.tabViewController?.bar.appearance)
        }))
        appearanceSection.add(item: SettingsItem(type: .options(values: [TabmanIndicator.Style.line.description,
                                                                         TabmanIndicator.Style.dot.description,
                                                                         TabmanIndicator.Style.block.description,
                                                                         TabmanIndicator.Style.none.description],
                                                                selectedValue: { return self.tabViewController?.bar.appearance?.indicator.preferredStyle?.description ?? "Preferred" }),
                                                 title: "Preferred Indicator Style",
                                                 description: nil,
                                                 value: nil, update:
            { (value) in
                guard let description = value as? String else { return }
                let style = TabmanIndicator.Style.fromDescription(description)
                
                let appearance = self.tabViewController?.bar.appearance
                appearance?.indicator.preferredStyle = style
                self.tabViewController?.bar.appearance = appearance
        }))
        appearanceSection.add(item: SettingsItem(type: .toggle,
                                                 title: "Scroll Enabled",
