I think this field set has to be synchronized (even though it's in the ctor) to ensure that the getter doesn't sporadically return null.