Prototype creation

I think it is a batter way to do it ;)

No instance of tha parent parent should be created here, since it is a premature stage. Imagine a generic manager class (this is exactlly the problem I had experienced), which specializes to some different kind of managers. To me, calling a manager constructor with no data attached did not make any sense, so using an instance of base class as a prototype of the child was not possilbe. Instead, one should use the prototype of the base class - that's what is it for.