Chain Builder Pattern  (C++ Design Pattern)