createParameterConfigurator = () => `
            function ParameterConfigurator () {
                this.params = [];
            }

            ParameterConfigurator.prototype.set = function (k, v) {
                this.params.push({
                    key: k,
                    value: v
                });
            };

            ParameterConfigurator.prototype.call = function ( key, args ) {
                for (var i = 0; i < this.params.length; i++) {
                    if (this.params[i].key == key) {
                        if (typeof this.params[i].value == "function") return this.params[i].value.apply(this, args && args.length > 0 ? args : []);
                    }
                }
                return null;
            }

            ParameterConfigurator.prototype.get = function ( key, args ) {
                for (var i = 0; i < this.params.length; i++) {
                    if (this.params[i].key == key) {
                        if (typeof this.params[i].value == "function") return this.call(key, args || []);
                        return this.params[i].value;
                    };
                }
                return ${ defaultGlobalValue }
            };
            var ${ this.keyword } = new ParameterConfigurator();

            // Parameter injection from job configuration
            ${ this.injectParameters() }
        `
Display Missing Alert
=====================
@description              Display a log message if theres any missing parameter set on the JSON configuration but is being referred in the script.
@return string           (String)   The template literal string displaying all the occurences if any.