Are private names in a public constructor a good idea?