title: How to add to an observable array using knockout mapping
body: <p>I'm trying to add a json item to an observable array, and in a <code>foreach</code> rendering, it shows up. But when I try to access the item using <code>item.property()</code> syntax, it fails but only for the post-initial-binding item. Better explained with code...</p>
  
  <p>Js:</p>
  
  <pre><code>var data = { colors: []};
  data.colors.push({title: 'blue' });
  var vm = ko.mapping.fromJS(data);
  ko.applyBindings(vm);
  
  vm.colors.push({ title: 'red' });
  
  $("#out").html("&lt;br/&gt;colors are ...&lt;br/&gt;");
  $.each(vm.colors(), function(i, clr) {
   $("#out").append(clr.title() + "&lt;br/&gt;");
  });
  </code></pre>
  
  <p>Output: (note, "red" isn't spit out :/)</p>
  
  <pre><code>blue
  red
  
  colors are ...
  blue
  </code></pre>
  
  <p>Demo: <a href="http://jsbin.com/ivacuw/7/edit" rel="nofollow">http://jsbin.com/ivacuw/7/edit</a></p>
  
  <p>I've also tried doing <code>vm.colors( [ { title: 'red' }] )</code> instead of the <code>vm.colors.push(...)</code>, but same issue. Error of <code>Uncaught TypeError: Property 'title' of object #&lt;Object&gt; is not a function</code></p>