Design a new Constructor Design for Snowflake
Currently, Snowflake's current public and stable API have a rather simple constructors like NewXXXXX(args1, argsn)
however, it is creating difficulties when we are adding new parameters as we will need to add more overloads of the same constructor, while keeping older constructors there indefinitely.
There is a few alternative designs such as WithXXX
options pattern or builder pattern.