             return savedToggles
         }
 
-        return [Bool](count: self.clearables.count, repeatedValue: true)
+        return self.clearables.map { $0.checked }
     }()
 
     private var clearButtonEnabled = true {

        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)

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 typealias DefaultCheckedState = Bool

    private lazy var clearables: [(clearable: Clearable, checked: DefaultCheckedState)] = {
        return [
            (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),
        ]
    }()

