title: Rx Breaking Changes
body: <p>I know that SL5 has a new property to count MouseClicks, but with help, I got this working when SL4 came out. Now I moved to a new machine, downloaded RX, and I understand the RX went through a few changes that has broken this code. I have tried, but I can't seem to navigate the transition away from FastSubject.</p>
  
  <p>I would really like to fully understand the use of Subject here, and how to update the call to work with the current version of Rx.</p>
  
  <pre><code>public static IObservable&lt;TSource&gt; MonitorForDoubleClicks&lt;TSource&gt;(this IObservable&lt;TSource&gt; source, TimeSpan doubleClickSpeed, IScheduler scheduler)
  {
    return source.Multicast&lt;TSource, TSource, TSource&gt;(
        () =&gt; new FastSubject&lt;TSource&gt;(), 
        values =&gt;
        {
          return values
              .TimeInterval(scheduler)  //injects a timestamp event arguments
              .Skip(1)                  // in order to determine an interval we need two of these, so this keeps the event in the collection, but does not process the first one in
              .Where(interval =&gt; interval.Interval &lt;= doubleClickSpeed)     //second event has arrived, so we can test the interval
              .RemoveTimeInterval()                                         //take the time argument out of the event args
              .Take(1)                                                      //we take one of the events (the latest) and throw it
              .Repeat();                                                    //keep the observer alive forever
        });
  </code></pre>