title: How to get previous state before counter update
body: <p>I have for example these batches of tuples with size of batch 5 with impressions from users:</p>
  
  <pre><code>Batch 1:
  [UUID1, clientId1]
  [UUID2, clientId1]
  [UUID2, clientId1]
  [UUID2, clientId1]
  [UUID3, clientId2]
  
  Batch 2:
  [UUID4, clientId1]
  [UUID5, clientId1]
  [UUID5, clientId1]
  [UUID6, clientId2]
  [UUID6, clientId2]
  </code></pre>
  
  <p>And this is my example of saving count state:</p>
  
  <pre><code>TridentState ClientState = impressionStream
      .groupBy(new Fields("clientId"))
      .persistentAggregate(getCassandraStateFactory("users", "DataComputation",
          "UserImpressionCounter"), new Count(), new Fields("count));
  
  Stream ClientStream = ClientState.newValuesStream();
  </code></pre>
  
  <p>I have clear database and run my topology. After grouping stream by clientId I save the state with persistentAggregate function and Count aggregator.
  For the first batch is the result after newValuesStream method: <code>[clientId1, 4]</code>, <code>[clientId2, 1]</code>.
  For the second batch: <code>[clientId1, 7]</code>, <code>[clientId2, 3]</code> as expected. </p>
  
  <p>ClientStream is used in couple of branches and  in one
  of these branches I need to process tuples so as to have batch with size 1 because I need information about count for each
  tuple. 
  Batch with size 1 is obviously crap so I have to somehow find out the previous state of the counter before I update it and emit
  this information with tuple there is already updated counter, e.g. for second batch <code>[clientId1, 7, 4]</code>.</p>
  
  <p>Have anybody idea how to do that?</p>