title: Reactive method to combine property in list to single observable
body: <p>We are struggling to find an appropriate method to combine a property value from a list of elements into a single observable element. Here is some sample code (simplified):</p>
  
  <pre class="lang-cs prettyprint-override"><code>public class Result {
    public ISubject&lt;bool&gt; Completed { get; }
  }
  
  public void SignalWhenAllIsDone(){
    List&lt;Result&gt; list = GetListOfResults(); //not important
  
    // somehow merge the list and the Completed property into a single observable
    IObservable&lt;bool&gt; allCompleted = ???;
  
    allCompleted.Subscribe(x =&gt; {
      Console.WriteLine("all results have completed");
    });  
  }
  </code></pre>
  
  <p>We think that there is some magic in the reactive toolbox that can subscribe to all the <code>Completed</code> subjects and merge/evaluate/condense it into a single observable that we can use. We have been doing some manual bookkeeping but our instincts tell us that this is something reactive can assist with.</p>
  
  <p>Any help?</p>