void Initialize(FileInfo walletFile) {
			WalletFile = walletFile;
		}
		public async Task<Wallet> CreateWallet(FileInfo walletFile) {
			Wallet newWallet = null;
			var creationSheet = new WalletCreationSheetController(walletFile);
			var creationLock = new SemaphoreLite();

			await creationLock.WaitAsync();

			creationSheet.ShowSheet(Window);
			creationSheet.DidCreate += (sender, e) => newWallet = e.Wallet;
			creationSheet.DidClose += (sender, e) => creationLock.Release();

			await creationLock.WaitAsync();
			creationLock.Release();
			return newWallet;
		}
		public WalletCreationSheetController(FileInfo walletFile) : base("WalletCreationSheet") { Initialize(walletFile); }