MVVMLightのテンプレートにこういうコードがあったんだけど
やっていることはわかるんですが、なぜこういうことをしているのかわからない

public class DataService : IDataService
{
 public void GetData(Action<DataItem, Exception> callback)
 {
  // Use this to connect to the actual data service
  var item = new DataItem("Welcome to MVVM Light");
  callback(item, null);
 }
}

/// <summary>
/// Initializes a new instance of the MainViewModel class.
/// </summary>
public MainViewModel(IDataService dataService)
{
 _dataService = dataService;
 _dataService.GetData(
  (item, error) =>
  {
   if (error != null)
   {
    // Report error here
    return;
   }
 WelcomeTitle = item.Title;});
}