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