Gets the value and ensures it's loaded from storage.
Returns: A Future that completes with the current value
@override Future<T> getEnsured() async { if (!hasInitialized) await _load(); return super.get(); }