title: KVO produces error/not receiving notification
body: <p>I have a class (call it classA) that contains a property named <code>info</code> (a model class, containing lots of info), wich in turn contains a property named <code>name</code> (a string). I want another class (classB) to receive a KVO notification when the string <code>name</code> changes in classA.</p>
  
  <p>This is what I'm doing now on classB:</p>
  
  <pre><code>[classA addObserver: self forKeyPath: @"info.name" options: 0 context: nil];
  </code></pre>
  
  <p>There are two ways the value <code>name</code> changes on classA: when it is set directly like <code>classA.info.name = ...</code> and when <code>info</code> is set like <code>classA.info = ...</code></p>
  
  <p>When <code>name</code> is changed directly KVO works perfectly. However, when the <code>info</code> property is set and <code>name</code> changes indirectly, I get this error:</p>
  
  <pre><code>Cannot update for observer &lt;classB&gt; for the key path "info.name" from &lt;classA&gt;, most likely because the value for the key "info" has changed without an appropriate KVO notification being sent. Check the KVO-compliance of the classA class.
  </code></pre>
  
  <p>What should I change on classA to make this work?</p>