public async Task RunReportAsync() { var data = await _dataProvider.GetData(); var records = _dataParser.ParseData(data); var report = _dataProcessor.ProcessReport(records); _dataReportWriter.WriteReport(report); }