evaluate(pulse) {
      const update = this._update;
      if (update) {
        const params = this.marshall(pulse.stamp),
          v = update.call(this, params, pulse);
        params.clear();
        if (v !== this.value) {
          this.value = v;
        } else if (!this.modified()) {
          return pulse.StopPropagation;
        }
      }
    }
Delegate method to perform operator processing.
Subclasses can override this method to perform custom processing.
By default, it marshalls parameters and calls the update function
if that function is defined. If the update function does not
change the operator value then StopPropagation is returned.
If no update function is defined, this method does nothing.
@param {Pulse} pulse - the current dataflow pulse.
@return The output pulse or StopPropagation. A falsy return value
  (including undefined) will let the input pulse pass through.