title: Backbone.JS collection reset event does not appear to fire
body: <p>I have created a simple <strong><a href="http://jsfiddle.net/jiewmeng/grhz9/6/" rel="nofollow">Todo application on JS Fiddle</a></strong> to learn Backbone.JS. I have a <code>TodosModuleView</code> that wraps a form and <code>TodosView</code> which renders the Collection of Todos</p>
  
  <pre><code>window.TodosModuleView = Backbone.View.extend({
      tagName: 'section',
      id: 'todoModule',
      events: {
          'keypress #frmTodo input[type=text]': 'addTodo'
      },
      initialize: function() {
          _.bindAll(this, 'render', 
                          'addTodo');
          this.collection.bind('reset', this.render);
          this.template = _.template($('#todosModuleTmpl').html());        },
      render: function() {
          console.log('rendering...');
          var todosView = new TodosView({ collection: this.collection });
          this.$el.html(this.template({}));
          this.$el.append(todosView.render().el);
          return this;
      },
      addTodo: function(e) {
          if (e.keyCode !== 13) 
              return;
          var todo = new Todo({ title: this.$('input[name=todo]').val() });
          this.collection.add(todo);
          console.log('added!');
          return false;
      }
  });
  </code></pre>
  
  <p>When I add a todo, I can see it added to the collection, but it does not appear to trigger <code>render()</code>. Also since I am using a Local Storage store, I'd expect that my newly added Todos should be persisted and rendered on next refresh, but that does not appear to happen. Looking at the Chrome's developer toolbar, I don't see anything in Local Storage</p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>1st Problem solved with <strong>@mashingan's</strong> answer: use <code>add</code> instead of <code>reset</code> event. Now whats wrong with my Local Storage? </p>
  
  <pre><code>window.Todos = Backbone.Collection.extend({
      model: Todo,
      localStorage: new Backbone.LocalStorage('todos')
  });
  </code></pre>
  
  <p>Could it be that variables are passed by value instead of reference as I'd expect? I have a <code>TodosModuleView</code> that uses <code>TodosView</code> to render the todo list, maybe I am doing it the wrong way? </p>