title: Class extending Ext.data.Model - methods .get and .set behaves differently compare to getter/setter
body: <p>When i am creating the model by extending "Ext.data.Model" class, getter/setter methods are behaving differently than default .get and .set methods available from data.Model </p>
  
  <p>It seems like one can either use getter/setter methods or .get/.set methods, because they seem to be maintaining separate set of fields.</p>
  
  <p>Why is it so? Parden me if question looks silly, i am learning Ext JS an trying to understand how it works. I am using library version ExtJS4.2.1</p>
  
  <p>Class</p>
  
  <pre><code>Ext.define("Ext.model.Invoice", {
          extend : "Ext.data.Model",
          fields : [{name : 'id'}, {name : 'taxId'}, {name : 'name'}],
          config : {
              name : 'Tejas',
              taxId : '23746'
          },
          constructor : function(config) {
              this.callParent(arguments);
              this.initConfig(config);
          }
      });
  </code></pre>
  
  <p>HTML</p>
  
  <pre><code>Ext.onReady(function() {
      var invoice = Ext.create("Ext.model.Invoice");
  
      console.log("Before, invoice.get('name'):", invoice.get('name'));
      console.log("Before, invoice.getName():", invoice.getName());
  
      //Modifying name
      invoice.setName("Mr. Smith");
      invoice.set("name","Mr. Tony");
      console.log("Updating names using setName and set('name')");
  
      console.log("After, invoice.get('name'):", invoice.get('name'));
      console.log("After, invoice.getName():", invoice.getName());
  
  });
  </code></pre>
  
  <p>OUTPUT</p>
  
  <pre><code>Before, invoice.get('name'):
  Before, invoice.getName(): Tejas
  Updating names using setName and set('name')
  After, invoice.get('name'): Mr. Tony
  After, invoice.getName(): Mr. Smith
  </code></pre>