constructor(source, roots, target) {
		this.roots = [...roots];
		this.source = source;
		this.target = target;
	}
@param {string | ResolveStepHook} source source hook
@param {Set<string>} roots roots
@param {string | ResolveStepHook} target target hook