title: Return something in a method without hanging a winform
body: <p>My question is a little hard to explain.</p>
  
  <p>I have an object doing something who need an interface in constructor :</p>
  
  <pre><code>public class Engine
  {
    public Engine(IControler controler);
  }
  </code></pre>
  
  <p>In this interface, there is a method who need something directly from the winform :</p>
  
  <pre><code>public class Controler : IControler
  {
    private MyForm _hook;      
  
    public Controler(MyForm hook)
    {
      _hook = hook;
    }
  
    // So, the method should be like this :
  
    public int GetTheRightThing()  // method from interface
    {
      // return here the right thing from clicking on the winform
      return _hook.WaitForClickAndGetTheRightThing()        
    }
  }
  </code></pre>
  
  <p>So, how can I implement the method "_hook.WaitForClickAndGetTheRightThing()" right ?
  I really don't see how to implement it without hanging the form...</p>