void HandleSaveFailed(object sender, string message) => _mainThread.BeginInvokeOnMainThread(async() => await DisplayAlert("Save Failed", message, "OK"));
void HandleGetLatestReleaseFailed(object sender, string message) => _mainThread.BeginInvokeOnMainThread(async() => await DisplayAlert("Failed to Retrieve Latest Version", message, "OK"));
void HandleSkipButtonTapped(object sender, EventArgs e) { _analyticsService.Track("Skip Button Tapped"); _mainThread.BeginInvokeOnMainThread(() => CurrentPage = Children.Last()); }
static void PlatformBeginInvokeOnMainThread(Action action) => implementation.BeginInvokeOnMainThread(action);