init call lazy only once before call load or save by default do nothing
@override Future<void> init() async { value = await defaultValue(); }