protected override async void OnAppearing()
        {
            base.OnAppearing();
            if (topLevelDataModel == null)
            {
                topLevelDataModel = await TopLevelDataModel.Load();
            }

            if (Activities == null)
            {
                Activities = GatherActivities();
            }
            NavigationPage.SetHasNavigationBar(this, false);

            foreach (var activity in Activities)
            {
                var matchingFrame = Flex.FindByName <Frame> (activity.Name + "Frame");
                if (matchingFrame != null)
                {
                    var binding = new Binding("IsAllowed");
                    binding.Source = activity;
                    matchingFrame.SetBinding(Frame.IsVisibleProperty, binding);
                    var subButton = matchingFrame.FindByName <ImageButton> (activity.Name);
                    if (subButton != null)
                    {
                        binding        = new Binding("IsEnabled");
                        binding.Source = activity;
                        subButton.SetBinding(ImageButton.IsEnabledProperty, binding);
                    }
                }
            }

            Identifier.Text = topLevelDataModel.UserFirstName;
        }