Proposal #2 - initialize members into ctor and clone ensuredFieldNames on get Fields