- Builder design pattern