public void GoBack()
        {
            if (IsEmptyBackStack)
            {
                return;
            }

            var canGoBack = CanGoBack;

            // navigation
            var currentEntry     = _backStack.CurrentWithRemove();
            var currentFrameName = ToKey(currentEntry);

            // cleanup
            CurrentStore.Remove(currentFrameName);

            // show previous if needed
            if (canGoBack)
            {
                RestoreNavigation();
            }
        }