I think the builder should be refactored... again.