title: Modify instead of replace a config object when extending an ExtJs class
body: <p>When extending an ExtJs class, the config objects are replaced by the new ones. But sometimes I would like to modify them only.</p>
  
  <p>I give two examples and would like a general solution if possible. </p>
  
  <p>Example 1. I have a panel with a toolbar and two buttons :</p>
  
  <pre><code>ExtJs.define('tbpanel', {
      extends: 'Ext.panel.Panel',
      tbar: [
          {text: 'Add'}, 
          {text: 'Remove'}
     ], 
     ... 
  }) 
  </code></pre>
  
  <p>When I extend it with the following code, the toolbar is overwritten :</p>
  
  <pre><code>ExtJs.define('final', {
      extends: 'tbpanel',
      tbar: [
          {text: 'Modify'}
     ]
  }) 
  </code></pre>
  
  <p>How can I extend the panel, such that the final one has a toolbar with all three buttons? </p>
  
  <p>Example 2: I have a store with a proxy config object that has several properties, like :</p>
  
  <pre><code>ExtJs.define('mystore', {
      proxy: {
          type: 'json', 
          writer: ... 
          reader: ...
      } 
  }) 
  </code></pre>
  
  <p>When I extend it like this, obviously all proxy configurations get lost :</p>
  
  <pre><code>ExtJs.define('myspecialstore', {
      extends: 'mystore', 
      proxy: {
          extraParams: {special: true} 
      } 
  }) 
  </code></pre>
  
  <p>How can I extend this store in a way that modifies the proxy instead of replacing it? </p>
  
  <p>I prefer a general solution rather than two specific solutions. </p>