title: convert/wrap a "classic" asynchronous method that uses a callback
body: <p>I´m trying to convert a  "classic" asynchronous method that uses a callback into a async/await method.</p>
  
  <p>This is the code:</p>
  
  <pre><code>authClient.LoginCompleted += authClient_LoginCompleted;
  authClient.LoginAsync(new List&lt;string&gt;() { "var1", "var2" }, data);
  
  static void authClient_LoginCompleted(object sender, LoginCompletedEventArgs e)
  { ... }
  </code></pre>
  
  <p>Where "<code>data</code>" is a <code>UserState</code>, and  <code>authClient_LoginCompleted</code> is the callback.</p>
  
  <p>I already have the logic for a async/await methods, the problem is that the interaction in windows phone with Microsoft.Live uses callbacks. I´m considering a solution using semaphore, in order not to change the logic I have. That could be a good option? </p>