Variable passed into .on() function always is the last element
<p>I'm sort of emulating Backbone's event system with an object like this:</p>

<pre><code>var events = {
    'click .one': 'fnOne',
    'click .two': 'fnTwo',
    'click .three': 'fnThree'
}
</code></pre>

<p>Then to set the event listeners with jquery I'm using the following:</p>

<pre><code>var method,
    match,
    event_name,
    selector;

var scope = {
     // Complex object literal passed to the event's
     // function for access...
};

var delegateEventSplitter = /^(\S+)\s*(.*)$/;
for (key in events) {
    if (events.hasOwnProperty(key)) {
        method = events[key];
        match = key.match(delegateEventSplitter);
        event_name = match[1];
        selector = match[2];

        $('#element').on(event_name,selector,function(event){ 
            method(event,scope);
        });
     }
}
</code></pre>

<p>The problem I'm having is that it's binding correctly except all of the events fire the last function <code>fnThree</code></p>
