     public func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String? {
         return sections[section].footerText
     }
-    
-}
-
-extension AppearanceSettingsViewController: Themeable {
-    public func apply(theme: Theme) {
-        self.theme = theme
-        
-        guard viewIfLoaded != nil else {
-            return
-        }
+
+    // MARK: - Themeable
+
+    override public func apply(theme: Theme) {
+        super.apply(theme: theme)
         tableView.backgroundColor = theme.colors.baseBackground
         tableView.reloadData()
     }
-}
+    
+}

        return [readingThemesSection, themeOptionsSection, tableAutomaticOpenSection, textSizingSection]
    }
    
    public func numberOfSections(in tableView: UITableView) -> Int {
        return sections.count
    }
    
    public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return sections[section].items.count
    }
    
    public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let item = sections[indexPath.section].items[indexPath.item]
        
        if let customViewItem = item as? AppearanceSettingsCustomViewItem {

    
    override open func viewDidLoad() {
        super.viewDidLoad()
        extendedLayoutIncludesOpaqueBars = true
        title = CommonStrings.readingPreferences
        tableView.register(WMFSettingsTableViewCell.wmf_classNib(), forCellReuseIdentifier: WMFSettingsTableViewCell.identifier)
        tableView.register(UITableViewCell.self, forCellReuseIdentifier: AppearanceSettingsViewController.customViewCellReuseIdentifier)
        sections = sectionsForAppearanceSettings()
    }
    
    func sectionsForAppearanceSettings() -> [AppearanceSettingsSection] {
