Using hashes for Initialization Arguments
Explicitly Define Defaults
Isolate Multiparameter Initialization, avoids having multiple dependencies on
the order of those arguments
Reversing Dependencies