I think it is confusing to have a builder and a factory class and the purpose of the factory class isn't really what a factory normally does (create and setup objects). Why doesn't the builder do these steps immediately?