In my app I have extended the Ext.grid.Panel (e.g MyApp.ux.grid.Panel) and added a fair amount of customization that I use/want to use across the majority of the grid panels in my application (currently 30+ grid views).

The problems are as follows:
1. In a major portion of my app I want to extend/override the Ext.grid.Panel and use my enhancements.
-- Not using designer, I would directly extend from my new component (MyApp.ux.grid.Panel) and continue from there.
-- Using designer I cannot do this and I overriding the 'extend' property in the override class does not work.

2. Alternatively, creating an overarching override for the Ext.grid.Panel could work but unfortunately I do not want the enhancements in every single grid panel.
-- So how do I instantiate the original Ext.grid.Panel without the enhancements.

This is just one example, but we are heading to the point that we are adding customizations to a number of the base classes (e.g. Store, Model) and the above problems will apply in all these cases.

I am open to suggestions on alternative best-practice patterns to use...