 		return d as NSDictionary
 	}
 
+	func saveToDiskIfNeeded() {
+
+		if !dirty {
+			return
+		}
+
+		if refreshInProgress {
+			resetSaveTimer()
+			return
+		}
+
+		saveToDisk()
+		dirty = false
+	}
+
 	func saveToDisk() {
 
 		let d = diskDictionary()

}


// MARK: - Disk

extension Account {
	
	private struct Key {
		static let children = "children"
	}

	func pullObjectsFromDisk() {

	private var dirty = false {
		didSet {
			if dirty {
				resetSaveTimer()
			}
			else {
				removeSaveTimer()
			}
		}
	}
