whole_func_string: function(name, src, onload, requester, errorback) {
  
          // XHR because it's easier to work with, doesn't pollute and has no reliance on DOM.
          // This means support for web workers, possibility to add a pre-processing pipeline
          // along with potential to cache scripts for re-use in other contexts.
          var xhr = new XMLHttpRequest();
          xhr.open("GET", src, true);
          var onerror = function(e) {
              if (errorback) {
                  errorback({
                      src: src,
                      requester: requester
                  });
              } else {
                  throw new Error('\n  Missing: ' + src + '\n  Requester: ' + requester);
              }
          };
          xhr.onerror = onerror;
          xhr.onload = function() {
              if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {
                  var output = xhr.responseText;
                  output += "\n//# sourceURL=" + self.location.protocol + "//" + resolveRelative(self.location.host + self.location.pathname, src);
                  eval.call(null, output);
                  onload();
              } else {
                  onerror();
              }
          };
          xhr.send();
      }
func_code_string: function(name, src, onload, requester, errorback) {
  
          // XHR because it's easier to work with, doesn't pollute and has no reliance on DOM.
          // This means support for web workers, possibility to add a pre-processing pipeline
          // along with potential to cache scripts for re-use in other contexts.
          var xhr = new XMLHttpRequest();
          xhr.open("GET", src, true);
          var onerror = function(e) {
              if (errorback) {
                  errorback({
                      src: src,
                      requester: requester
                  });
              } else {
                  throw new Error('\n  Missing: ' + src + '\n  Requester: ' + requester);
              }
          };
          xhr.onerror = onerror;
          xhr.onload = function() {
              if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {
                  var output = xhr.responseText;
                  output += "\n//# sourceURL=" + self.location.protocol + "//" + resolveRelative(self.location.host + self.location.pathname, src);
                  eval.call(null, output);
                  onload();
              } else {
                  onerror();
              }
          };
          xhr.send();
      }
func_documentation_string: Transport is separated into a separate function because it can be overrided by the lamda-optimizer tool to use NodeJS functions instead.