public async Task GetAccessToken(string pinCode)
		{
			var data = await TwitterClient.Current.GetAccessToken(
				this.application.ConsumerKey, 
				this.application.ConsumerSecret, 
				this.requestToken,
				pinCode).ToTask();

			var account = TwitterClient.Current.Accounts.FirstOrDefault(a => a.UserId == data.UserId);
			if (account == null)
			{
				account = new TwitterAccount(this.application, data.Token);
				await account.Initialize();
				TwitterClient.Current.LoadAccount(account);
			}
			else
			{
				account.AddToken(this.application, data.Token);
			}
		}
		private static async Task<TwitterAccount> LoadAccount(string path)
		{
			var settings = path.ReadXml<AccountSettings>();
			var account = new TwitterAccount(settings.Tokens.Select(st => st.ToTwitterToken()));
			account.CurrentToken = account.Tokens.FirstOrDefault(t => t.Application.Id == settings.CurrentApplicationId) 
				?? account.Tokens.FirstOrDefault();
			account.UserStreams.UseUserStreams = settings.UseUserStreams;

			account.UserId = account.CurrentToken.ToUserId();
			await account.Initialize();

			return account;
		}