title: Process events one at a time in Reactive Extensions
body: <p>Lets consider the following stream </p>
  
  <pre><code>  SomeState state = new SomeState().
  
   _refreshFiberStream =
      Stream()
      .SubscribeOn(new EventLoopScheduler()) 
      .Select(DoCalc)
      .ObserveOn(DispatcherScheduler.Current)
      .Subscribe(Update);
  </code></pre>
  
  <p>The DoCalc method will project into input and consumes 'state' and the resulting output is given to Update method, which would modify the 'state'. If a new event comes in, it should act on state last updated from previous event, and project based on that.  </p>
  
  <p>I am looking for a way where the events are always executed in sequence. For example if I have three events I am looking for a way so that they are executed in DoCalc, Update followed by DoCalc, Update followed by DoCalc, Update. </p>
  
  <p>Instead I am seeing DoCalc, DoCalc, Update, Update, DoCalc, Update i.e. they never run in sequence. </p>
  
  <p>Is there a way I can enforce it in Rx</p>