title: Xamarin.Forms - BeginInvokeOnMainThread for an async Action
body: <p>I am familiar with the rules about updating UI elements on the UI thread using the Device.BeginInvokeOnMainThread, however I have an operation that needs to be run on the UI thread that is actually a Task.</p>
  
  <p>For example, the Push/PopAsync methods on XLabs.Forms.Mvvm seem to behave incorrectly on iOS unless they are invoked on the UI thread. There is also another example in the Acr.UserDialogs library for displaying toasts etc.</p>
  
  <p>I know that making an Action async is basically creating an async void lambda and runs the risk of creating a deadlock in the case of an exception, obviously I don't want this to happen.</p>
  
  <p>Does anybody have a workaround for performing async operations on the UI thread that doesn't involve marking the Action as async?</p>