code: function (msg) {
  
                  if (uri && (msg.getUriPath().indexOf(uri) != 0)) {
                      if (beVerbose) {
                          logger.log("uri filter did not match", uri, msg.getUriPath(), { coreID: that.getHexCoreID() });
                      }
                      return;
                  }
  
                  if (tokenHex && (tokenHex != msg.getTokenString())) {
                      if (beVerbose) {
                          logger.log("Tokens did not match ", tokenHex, msg.getTokenString(), { coreID: that.getHexCoreID() });
                      }
                      return;
                  }
  
                  if (once) {
                      that.removeListener(evtName, handler);
                  }
  
                  process.nextTick(function () {
                      try {
                          if (beVerbose) {
                              logger.log('heard ', name, { coreID: that.coreID });
                          }
                          callback(msg);
                      }
                      catch (ex) {
                          logger.error("listenFor - caught error: ", ex, ex.stack, { coreID: that.getHexCoreID() });
                      }
                  });
              }
docs: TODO: failWatch?  What kind of timeout do we want here? adds a one time event