title: RxSwift correct way to subscribe to data model property change
body: <p>New to RxSwift here. I have a (MVVM) view model that represents a Newsfeed-like page, what's the correct way to subscribe to change in data model's properties? In the following example, <code>startUpdate()</code> constantly updates <code>post</code>. The computed properties <code>messageToDisplay</code> and <code>shouldShowHeart</code> drives some UI event. </p>
  
  <pre><code>struct Post {
      var iLiked: Bool
      var likes: Int
      ...
  }
  
  class PostViewModel: NSObject {
      private var post: Post
  
      var messageToDisplay: String {
          if post.iLiked { return ... }
          else { return .... }
      }
  
      var shouldShowHeart: Bool {
          return iLiked &amp;&amp; likes &gt; 10
      }
  
      func startUpdate() {
          // network request and update post
      }
      ...
  }
  </code></pre>
  
  <p>It seems to me in order to make this whole thing reactive, I have to turn each properties of <code>Post</code> and all computed properties into <code>Variable</code>? It doesn't look quite right to me.</p>