Builder pattern - Wikipedia