Resolves data asynchronously and must be implemented by subclasses.
Future<Result> resolveData() async => throw UnimplementedError();