Generate with a private constructor
Generate methods based on fields