protected override async Task OnInitialization() { await base.OnInitialization(); _companyEditor = CreateViewModel <ICompanyEditor>(); _companyEditor.Saved += CompanyEditorSaved; _branchEditor = CreateViewModel <IBranchEditor>(); _companyRepository = GetRepository <ICompanyRepository>(); async Task LoadCompanies() { Companies = await _companyRepository.GetItemsWithDetails().ToAsyncObservableCollection(); Companies.BindToRepositoryChanges(_companyRepository); } async Task InitializeBranchViewer() { BranchViewer = await InitializeViewModel <IBranchViewer>(); } try { await Task.WhenAll(LoadCompanies(), InitializeBranchViewer()); } catch (Exception e) { throw; } }