Make factories take a builder