title: Changing one property in a variable triggers subcriptions to other properties. RxSwift
body: <p>I have the following struct of properties for <code>Chat</code></p>
  
  <pre><code>struct Chat {
      var id = String()
      var gender = String()
      var date = Date()
  
      init() {}
  }
  </code></pre>
  
  <p>In a view controller, i declare an instance of Chat called <code>observablechat</code>, and then i used the flatmap operator to attempt and observe only changes in the <code>date</code> property of <code>observablechat</code>. However, if i change the gender property (as shown), the subscription gets triggered. I wonder why that is and how can i fix this code such that the subscription only looks at what happens to the <code>date</code> property and nothing else?</p>
  
  <pre><code>class ViewController: UIViewController {
  
      var observablechat = Variable(Chat())
  
          observablechat.asObservable()
          .flatMap { (Chat) -&gt; Observable&lt;Date&gt; in
              return Observable.of(Chat.matchDate)
          }.subscribe(onNext: { (r) in
              print(r)
          }).addDisposableTo(disposeBag)
  
  
          self.observablechat.value.gender = "male" 
          //triggers subscription above. 
      }
  }
  </code></pre>