Sometimes you can get this done with interceptor and/or sequence. It's lot of work to prevent overrides though.
In my experience, doing anything halfway serious always requires some overrides that include existing code. And even interceptor and sequence don't always allow you to avoid copying some existing code into your function (depends on where you have to inject your new logic). Speaking for myself, it would be impossible for me to ship my calendar components without some overrides that must, by nature, include some Sencha code. YMMV.