     override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
         guard indexPath.section == SectionButton else { return }
 
+        let toggles = self.toggles
         clearables
             .enumerate()
-            .filter { (i, _) in toggles[i] }
-            .map { (_, clearable) in clearable.clear() }
+            .flatMap { (i, pair) in
+                guard toggles[i] else {
+                    return nil
+                }
+                log.debug("Clearing \(pair.clearable).")
+                return pair.clearable.clear()
+            }
             .allSucceed()
             .upon { result in
                 assert(result.isSuccess, "Private data cleared successfully")

            return savedToggles
        }

        return [Bool](count: self.clearables.count, repeatedValue: true)
    }()

    private var clearButtonEnabled = true {

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

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