         _worker.onerror = function(e) { this.error(e); };
         _worker.send = function(m) { this.postMessage(m); };
 
+        // _worker.terminate is built-in
+
         if (typeof _submoduleLoadPath === "string") {
           _worker.postMessage({_submoduleLoadPath: _submoduleLoadPath});
         }

      var moduleSelf = { name: \"#{@name}\", loadPath: "" };
      moduleSelf.receive = function(m) {};
      moduleSelf.reply = function(m) { postMessage(m); };
      this.onmessage = function(e) {
        if (typeof e.data === "object" && typeof e.data._submoduleLoadPath == "string") {
          moduleSelf.loadPath = e.data._submoduleLoadPath;

      var moduleSelf = { name: \"#{@name}\" };
      moduleSelf.receive = function(m) {};
      moduleSelf.reply = function(m) { process.send(m); };
      moduleSelf.close = function() { process.exit(0); };
      process.on('message', function(m) { moduleSelf.receive(m); });

      """
