title: RxJava subjects are necessary?
body: <p>I have just started learning RxJava and thinking reactive.
  I have found some article (7 tips) that says subjects should only be used as a last resort or the first implementation, and I have been thinking..
  As of now I have one PublishSubject </p>
  
  <pre><code>   PublishSubject.create()
      .scan(0, (a, b) -&gt; a + 1).subscribe(replaySubject)
  </code></pre>
  
  <p>It is incrementing the value by 1 every time, and is subscribed by replaySubject</p>
  
  <blockquote>
    <p>ReplaySubject.create();</p>
  </blockquote>
  
  <p>That just prints the value. So at start I have 0, then on every <code>PublishSubject.onNext</code> I am incrementing the value, so I got 1, 2 etc. Because its replaySubject I am getting the whole chain.
  However I have been thinking whether or not this may be done without subjects? I have been reading the RxJava Wiki and the operators, but I can't figure out any way this could be done.</p>
  
  <h1>Update</h1>
  
  <p>So the pseudo code I am trying to archieve is somehow to have one observable that starts with 1</p>
  
  <pre><code>Observable.just(1)
  </code></pre>
  
  <p>Now I do have on click listener </p>
  
  <pre><code>OnClick{ }
  </code></pre>
  
  <p>And every time I click on some button I want to see all previous numbers + 1, so 1 then 1, 2 next 1,2,3 etc.
  I have been trying with <code>ConnectableObservator.replay</code> however this does not succeeded at all. And inside listener I jave been trying to first add scan on my Observable to increase value and then subscribe so I can print it. But this does not work either. Damn I think i'm in a black corner and misunderstood the idea of observables...</p>