function fnGetExtensionControllerAsync(sControllerName) {
				return loadControllerClass(sControllerName, sViewId, true).then(function(oExtControllerDef) {
					// loadControllerClass resolves with the base sap/ui/core/mvc/Controller class,
					// in case 'sControllerName' is not a module but was defined with sap.ui.controller("...", {})
					oExtControllerDef = mRegistry[sControllerName] || oExtControllerDef;
					if (oExtControllerDef !== undefined) {
						if (oExtControllerDef.getMetadata && oExtControllerDef.getMetadata().isA("sap.ui.core.mvc.Controller")) {
							future.fatalThrows("Attempt to load Extension Controller " + sControllerName + " was not successful. Controller extension should be a plain object.", "", null, function() {
								return {
									type: "ControllerExtension",
									name: sControllerName
								};
							});
						}
						return oExtControllerDef;
					}

				}, function(err) {
					future.errorThrows("Attempt to load Extension Controller " + sControllerName + " was not successful - is the Controller correctly defined in its file?");
				});
			}
Retrieves the controller-extension with the given name asynchronously.
@param {string} sControllerName the extension controller class name
@returns {Promise<Object>} Promise on the loaded controller extension