title: Backbone.js firing Collection change event multiple times
body: <p>In one of by Backbone.js views I am updating the attribute "read" of the current model (instance of Message) by using <code>this.model.set( { read: true } );</code>. I verified that this command is only executed once (I know about "ghost events"). As you can see below I configured the Collection to fire an update event in which the whole Collection gets saved into a variable.
  Unfortunately the <code>saveToVar</code> function gets called 3 times instead of one! Also, the first time <code>saveToVar</code> is called, <code>this</code> correctly consists of all the collection's models, whilst the 2nd and 3rd time <code>this</code> only has one model, namely the one I did the update on.
  I tracked everything down piece by piece but I have no clue why this happens.</p>
  
  <pre><code>window.Message = Backbone.Model.extend({
  
  });
  
  window.MessageCollection = Backbone.Collection.extend({
  
  model: Message,
  
  initialize: function()
  {
      this.on("change", this.saveToVar);
  },
  
  saveToVar: function(e)
  {
      App.Data.Messages = this.toJSON();
      return;
  }
  
  });
  </code></pre>