title: Observable Current and Previous Value
body: <p>I have a Variable which is an array of enum values. These values change over time.</p>
  
  <pre><code>enum Option {
      case One
      case Two
      case Three
  }
  
  let options = Variable&lt;[Option]&gt;([ .One, .Two, .Three ])
  </code></pre>
  
  <p>I then observe this variable for changes. The problem is, I need to know the diff between the newest value and the previous value. I'm currently doing this:</p>
  
  <pre><code>let previousOptions: [Option] = [ .One, .Two, .Three ]
  
  ...
  
  options
      .asObservable()
      .subscribeNext { [unowned self] opts in
          // Do some work diff'ing previousOptions and opt
          // ....
          self.previousOptions = opts
      }
  </code></pre>
  
  <p>Is there something built in to RxSwift that would manage this better? Is there a way to always get the previous and current values from a signal?</p>