constructor (rules = [], options = {}) {
    super()
    this.rules = []
    this.allowUndefinedFacts = options.allowUndefinedFacts || false
    this.allowUndefinedConditions = options.allowUndefinedConditions || false
    this.replaceFactsInEventParams = options.replaceFactsInEventParams || false
    this.pathResolver = options.pathResolver
    this.operators = new OperatorMap()
    this.facts = new Map()
    this.conditions = new Map()
    this.status = READY
    rules.map(r => this.addRule(r))
    defaultOperators.map(o => this.addOperator(o))
    defaultDecorators.map(d => this.addOperatorDecorator(d))
  }
Returns a new Engine instance
@param  {Rule[]} rules - array of rules to initialize with