constructor (name, cb, factValueValidator) {
    this.name = String(name)
    if (!name) throw new Error('Missing operator name')
    if (typeof cb !== 'function') throw new Error('Missing operator callback')
    this.cb = cb
    this.factValueValidator = factValueValidator
    if (!this.factValueValidator) this.factValueValidator = () => true
  }
Constructor
@param {string}   name - operator identifier
@param {function(factValue, jsonValue)} callback - operator evaluation method
@param {function}  [factValueValidator] - optional validator for asserting the data type of the fact
@returns {Operator} - instance