Feature/generate named constructor from beConstructedThrough

@MarcelloDuarte I feel that if we generate a private constructor we have to also handle beConstructedWith() later transforming the private constructor into a public one