title: this does not refer to viewmodel in binding from observableArray template
body: <p>Trying to use the new <a href="http://blog.stevensanderson.com/2011/12/21/knockout-2-0-0-released/" rel="nofollow">cleaner event handling</a> in Knockout 2 along with the new control flow bindings I'm working on implementing a simple dynamic list, adding and removing strings.  So my markup roughly looks like this:</p>
  
  <pre><code>&lt;div data-bind="foreach:myList"&gt;
      &lt;input data-bind="value: $data" /&gt;
      &lt;button data-bind="click:$parent.removeFromList"&gt;X&lt;/button&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>and my viewmodel has a matching remove function which immitates <a href="http://blog.stevensanderson.com/2010/07/12/editing-a-variable-length-list-knockout-style/" rel="nofollow">a sample from Steve Sanderson</a>.</p>
  
  <pre><code>removeFromList: function(item) {
      this.myList.remove(item);
  }
  </code></pre>
  
  <p>Now I would expect 'this' to refer to the viewmodel and item to refer to the array member being removed (since <a href="http://blog.stevensanderson.com/2011/12/21/knockout-2-0-0-released/" rel="nofollow">event handlers now receive the current model value as their first parameter</a>).  However, 'this' also seems to refer to the string being removed.  Therefore when I click remove I get:</p>
  
  <pre><code>this.myList is undefined
  </code></pre>
  
  <p>I've created a JSFiddle at <a href="http://jsfiddle.net/davidc/rFd7H/" rel="nofollow">http://jsfiddle.net/davidc/rFd7H/</a> which illustrates my problem.  How should I be removing items from the list?</p>