public async Task ExecuteLoadStatsCommand()
		{
			if (IsBusy)
				return;

			IsBusy = true;

			try
			{
				var adminManager = new AdminManager(Settings.AccessToken);

				RegDates.Clear();
				foreach(var reg in await adminManager.TotalRegistrations())
				{
					RegDates.Add(new MyRegDate
						{
							Title = new DateTime(reg.Year, reg.Month, reg.Day).ToString("D"),
							Detail = reg.Total.ToString()
						});
				}
			}
			catch (Exception ex)
			{
				var page = new ContentPage();
				page.DisplayAlert("Error", "Unable to load.", "OK"); ;
			}
			finally
			{
				IsBusy = false;
			}
		}
		public async Task ExecuteLoadStatsCommand()
		{
			if (IsBusy)
				return;

			IsBusy = true;

			try
			{
				var adminManager = new AdminManager(Settings.AccessToken);

				Names.Clear();
				foreach(var name in await adminManager.PopularNames())
				{
					Names.Add(name);
				}
			}
			catch (Exception ex)
			{
				var page = new ContentPage();
				page.DisplayAlert("Error", "Unable to load.", "OK"); ;
			}
			finally
			{
				IsBusy = false;
			}
		}
		public async Task ExecuteLoadStatsCommand()
		{
			if (IsBusy)
				return;

			IsBusy = true;

			try
			{
				var adminManager = new AdminManager(Settings.AccessToken);
				var avatarManager = new AvatarManager(Settings.AccessToken);
				Count = await adminManager.TotalAvatarCount();
				var avas = await avatarManager.GetStaticAvatars();
				Avatars.Clear();
				var items = await adminManager.PopularAvatars();
				foreach(var avatar in items.OrderByDescending(a => a.Count))
				{
					var myava = avas.FirstOrDefault(a => a.Id == avatar.AvatarId);

					if (myava == null)
						continue;

					Avatars.Add(new MyAvatar
						{
							Count = avatar.Count.ToString(),
							Location = myava.Location,
							Url = EndPoints.BaseUrl + myava.Location
						});
				}
			}
			catch (Exception ex)
			{
				var page = new ContentPage();
				page.DisplayAlert("Error", "Unable to load.", "OK"); ;
			}
			finally
			{
				IsBusy = false;
			}
		}
		public async Task ExecuteLoadUsersCommand()
		{

			if (IsBusy)
				return;

			IsBusy = true;

			try
			{
				var adminManager = new AdminManager(Settings.AccessToken);


				var users = await adminManager.FlagUserList(Flag.Id);
				//Use linq to users by name and then group them by the new name sort property
				var sorted = from user in users
							 orderby user.NickName
							 group user by (user.NickName.Length == 0 ? "?" : user.NickName[0].ToString()) into userGroup
							 select new Grouping<string, User>(userGroup.Key, userGroup);

				//create a new collection of groups
				UsersGrouped = new ObservableCollection<Grouping<string, User>>(sorted);
				OnPropertyChanged("UsersGroupeds");
			}
			catch (Exception ex)
			{
				var page = new ContentPage();
				page.DisplayAlert("Error", "Unable to load users.", "OK"); ;
			}
			finally
			{
				IsBusy = false;
			}
		}