title: Is async/await useless in MVVM?
body: <p>In MVVM where the ViewModels update the Views via INotifyPropertyChanged events, there doesn't seem to be much room for the cool feature of async/await; executing the continuation on the captured synchronization context of the invoker.</p>
  
  <p>So, if this is the case, then who will actually use the features of async/await in a modern UI based app? In this context, "who" can also mean what pattern, e.g. MVC-variation.</p>
  
  <p>I can think of the following as a good way of using TAP</p>
  
  <pre><code>ViewModel.Age
  {
    set {
      await Model.SetAge(value);
      NotifyPropertyChanged("Age");
    }
  }
  </code></pre>
  
  <p>however, having this run on the captured syncContext, does not really help out much.
  Actually, we could put all this in the model instead.</p>
  
  <pre><code>Model.Age
  {
    set {
      await SetAge(value);
      NotifyPropertyChanged("Age");
    }
  }
  </code></pre>
  
  <p>and now, we would really like the syncContext NOT to be the captured one.</p>