1. A computer-implemented method, comprising: launching, by the processor, a custom application from inside a web browser; determining, by the processor, that the custom application extends a base application provided by a service provider, including determining that the custom application includes configuration metadata referencing an extension to a portion of the base application, wherein the portion is a controller belonging to the base application; retrieving, by the processor, the base application from the service provider; merging, by the processor, the base application and the custom application; and executing, by the processor, the merged application on the web browser, wherein a first method of the extension is called by the custom application before a second method of the controller when the first method and the second method are controller end-of-lifecycle methods having the same name.