diff --git a/core/nodejsActionBase/runner.js b/core/nodejsActionBase/runner.js
index 7f37e3b..ff6fcf3 100644
--- a/core/nodejsActionBase/runner.js
+++ b/core/nodejsActionBase/runner.js
@@ -33,15 +33,6 @@
 
     this.userScriptMain = undefined;
 
-    // This structure is reset for every action invocation. It contains two fields:
-    //   - completed; indicating whether the action has already signaled completion
-    //   - next; a callback to be invoked with the result of the action.
-    // Note that { error: ... } results are still results.
-    var callback = {
-        completed : undefined,
-        next      : function (result) { return; }
-    };
-
     this.init = function(message) {
         function assertMainIsFunction() {
             if (typeof thisRunner.userScriptMain !== 'function') {
@@ -91,9 +82,6 @@
     this.run = function(args) {
         return new Promise(
             function (resolve, reject) {
-                callback.completed = undefined;
-                callback.next = resolve;
-
                 try {
                     var result = thisRunner.userScriptMain(args);
                 } catch (e) {
