Prototype Design Pattern with Modern C++