Feature/generate named constructor from beConstructedThrough

Ho, I get it now. It's to be sure that static constructors (like below) will work.

I'm still not sure it's a good idea to force private ctors. 
In any case, user will have to modify something.