public async Task<ApplicationData> GetApplicationData() {
            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
            return await Task.Factory.StartNew(() => {
                var applicationData = new ApplicationData();
                using ExcelPackage package = fileProcessor.LoadExcelPackageFromFile();

                ExcelWorksheet accountsWorksheet = package.Workbook.Worksheets["Accounts"];
                if (accountsWorksheet != null) {
                    applicationData.Accounts = ParseAccountsFromExcelWorkSheet(accountsWorksheet);
                }

                ExcelWorksheet categoriesWorksheet = package.Workbook.Worksheets["Categories"];
                if (accountsWorksheet != null) {
                    applicationData.Categories = ParseCategoriesFromExcelWorkSheet(categoriesWorksheet);
                }

                ExcelWorksheet accountTransactionsWorksheet = package.Workbook.Worksheets["Account Transactions"];
                if (accountsWorksheet != null) {
                    applicationData.AccountTransactions = ParseAccountTransactionFromExcelWorkSheet(accountTransactionsWorksheet);
                }

                return applicationData;
            });
        }