Based on the theme you are in, this article provides the necessary steps to override the TypeScript Controllers.The **Standard Controller** can be overridden with a controller that selects the controller for the theme you are in. Then, in the init method of the "contain and delegate" controller you can get the injector:

and then say, if theme is **InsiteCustom**, use the injector to get the **InsiteCustom** version of the controller:

In your "contain and delegate" controller you override all the standard methods and delegate the calls to the this.delegateToController methods.