title: rxjs 5 publishReplay refCount
body: <p>I can't figure out how <code>publishReplay().refCount()</code> works.</p>
  
  <p>For example (<a href="https://jsfiddle.net/7o3a45L1/" rel="noreferrer">https://jsfiddle.net/7o3a45L1/</a>):</p>
  
  <pre><code>var source = Rx.Observable.create(observer =&gt;  {
    console.log("call"); 
    // expensive http request
    observer.next(5);
  }).publishReplay().refCount();
  
  subscription1 = source.subscribe({next: (v) =&gt; console.log('observerA: ' + v)});
  subscription1.unsubscribe();
  console.log(""); 
  
  subscription2 = source.subscribe({next: (v) =&gt; console.log('observerB: ' + v)});
  subscription2.unsubscribe();
  console.log(""); 
  
  subscription3 = source.subscribe({next: (v) =&gt; console.log('observerC: ' + v)});
  subscription3.unsubscribe();
  console.log(""); 
  
  subscription4 = source.subscribe({next: (v) =&gt; console.log('observerD: ' + v)});
  subscription4.unsubscribe();
  </code></pre>
  
  <p>gives the following result:</p>
  
  <blockquote>
    <p>call observerA: 5</p>
    
    <p>observerB: 5 call observerB: 5</p>
    
    <p>observerC: 5 observerC: 5 call observerC: 5</p>
    
    <p>observerD: 5 observerD: 5 observerD: 5 call observerD: 5</p>
  </blockquote>
  
  <p>1) Why are observerB, C and D called multiple times? </p>
  
  <p>2) Why "call" is printed on each line and not in the beginning of the line?</p>
  
  <p>Also, if i call <code>publishReplay(1).refCount()</code>, it calls observerB, C and D 2 times each. </p>
  
  <p>What i expect is that every new observer receives the value 5 exactly once and "call" is printed only once.</p>