title: Handling observable object properties with CommunityToolkit.Mvvm
body: <p>How do we handle properties that are objects themselves using <code>CommunityToolkit.Mvvm</code>?</p>
  <p>I understand that I can simply use <code>[ObservableProperty]</code> attribute with simple properties e.g. data type of <code>string</code>, <code>int</code>, etc.</p>
  <p>How do we handle properties that are <code>POCO</code> objects and need to be observable?</p>
  <p>Here's an example:</p>
  <pre><code>public partial class MyViewModel : ObservableObject
  {
     [ObservableProperty]
     string title;
  
     [ObservableProperty]
     decimal price;
  
     Person author; // How do we handle this property that is a Person object?
  }
  </code></pre>
  <p>I understand that source generators in <code>CommunityToolkit.Mvvm</code> will automatically handle creation of <code>Title</code> and <code>Price</code> public properties. What about <code>author</code>?</p>
  <p>Do we use <code>[ObservableProperty]</code> attribute to make complex properties observable, such as the <code>author</code> property in the above example which is a <code>Person</code> object?</p>