i *think* a config object would eliminate the need for explicit setters and the config params can be declared final