_createAction(actionDef, name) {
		let action;
		if (isFunction(actionDef)) {
			// Wrap to an object
			action = {
				handler: actionDef
			};
		} else if (isObject(actionDef)) {
			action = _.cloneDeep(actionDef);
		} else {
			throw new ServiceSchemaError(
				`Invalid action definition in '${name}' action in '${this.fullName}' service!`
			);
		}

		let handler = action.handler;
		if (!isFunction(handler)) {
			throw new ServiceSchemaError(
				`Missing action handler on '${name}' action in '${this.fullName}' service!`
			);
		}

		action.rawName = action.name || name;
		if (this.settings.$noServiceNamePrefix !== true)
			action.name = this.fullName + "." + action.rawName;
		else action.name = action.rawName;

		if (action.cache === undefined && this.settings.$cache !== undefined) {
			action.cache = this.settings.$cache;
		}

		action.service = this;
		action.handler = this.Promise.method(handler.bind(this));

		return action;
	}
Create an external action handler for broker (internal command!)

@param {Object|Function} actionDef
@param {String} name
@returns {Object}

@private
@memberof Service