title: How to call async method twice simultaneously?
body: <p>Here is the thing.
  I called async method with parameters. So if i had only one example of the class, that using this method it works fine.
  But if I got 2 examples of my class and they both calls this async method, but with different parameters, results of one returns faster and rized handler of other example of class.</p>
  
  <p>I show a little example:</p>
  
  <pre><code>public class ClassExample
  {
     public ClassExample(int someParameter)
     {
        GetAsyncMethodCompleted += ClassExampleGetAsyncMethodCompleted;
        GetAsyncMethod(someParameter);
     }
     void ClassExampleGetAsyncMethodCompleted (object sender, Args e)
     {
        GetAsyncMethodCompleted -= ClassExampleGetAsyncMethodCompleted;
     }
  }
  </code></pre>
  
  <p>So it's pretty obviously that this line </p>
  
  <pre><code> GetAsyncMethodCompleted -= ClassExampleGetAsyncMethodCompleted;
  </code></pre>
  
  <p>executed at the wrong time in this case:</p>
  
  <pre><code>ClassExample(1);
  ClassExample(2);
  </code></pre>
  
  <p>I really get why it's happening. So I need to get how can I make it works in the most elegant way.</p>