 private let HeaderHeight: CGFloat = 44
 private let TogglesPrefKey = "clearprivatedata.toggles"
 
+private let log = Logger.browserLogger
+
 class ClearPrivateDataTableViewController: UITableViewController {
     private var clearButton: UITableViewCell?
 
     var profile: Profile!
     var tabManager: TabManager!
 
-    private lazy var clearables: [Clearable] = {
+    private typealias DefaultCheckedState = Bool
+
+    private lazy var clearables: [(clearable: Clearable, checked: DefaultCheckedState)] = {
         return [
-            HistoryClearable(profile: self.profile),
-            CacheClearable(tabManager: self.tabManager),
-            CookiesClearable(tabManager: self.tabManager),
-            SiteDataClearable(tabManager: self.tabManager),
-            PasswordsClearable(profile: self.profile),
+            (HistoryClearable(profile: self.profile), true),
+            (CacheClearable(tabManager: self.tabManager), true),
+            (CookiesClearable(tabManager: self.tabManager), true),
+            (SiteDataClearable(tabManager: self.tabManager), true),
+            (PasswordsClearable(profile: self.profile), false),
         ]
     }()
 

        let cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: nil)

        if indexPath.section == SectionToggles {
            cell.textLabel?.text = clearables[indexPath.item].label
            let control = UISwitch()
            control.onTintColor = UIConstants.ControlTintColor
            control.addTarget(self, action: "switchValueChanged:", forControlEvents: UIControlEvents.ValueChanged)

            return savedToggles
        }

        return self.clearables.map { $0.checked }
    }()

    private var clearButtonEnabled = true {
