Feature/generate named constructor from beConstructedThrough

It's not that uncommon to start with __construct and then decide to do named constructors later.