Only PathBuilder needs to be outside the trait