@override Future<T> load() async { if (box.isNotEmpty) { return decode(box.getAt(0) as String); } else { final def = await defaultValue(); await box.add(encode(def)); return def; } }