code: function Finder(node, options) {
  
      var preset = options.preset && exposed.PRESETS[options.preset]
      options.portionMode = options.portionMode || PORTION_MODE_RETAIN
      if (preset) {
        for (var i in preset) {
          if (hasOwn.call(preset, i) && !hasOwn.call(options, i)) {
            options[i] = preset[i]
          }
        }
      }
  
      this.node = node
      this.options = options
      // ENable match-preparation method to be passed as option:
      this.prepMatch = options.prepMatch || this.prepMatch
      this.reverts = []
      this.matches = this.search()
      if (this.matches.length) {
        this.processMatches()
      }
  
    }
docs: Finder -- encapsulates logic to find and replace.