Split PartBuilder into a separate file.