tmp = function() {
      var args = Utils.args(arguments)
      const self = this.chain()._unresolve() // if the collection is already resolved, return a unresolved and empty copy!

      if (lazy) {
        self.addInternal('active_scopes', function() {
          return fn.apply(this, args)
        })
      } else {
        fn.apply(self, args)
      }

      return self
    }
Creates a custom chained Model method

@public
@memberof Definition
@method scope
@param {string} name - The name of the scope
@param {scopeFN} callback - The scope function
@return {Definition}