Design Patterns - Factory Method Pattern Adding More Power To Count Allocated Objects In C++