This is a ugly hack at the moment. This allows child classes to override the internal type of collection we use. This will be removed when we refactor the architecture to have an abstract base class so we can have a "writeable" version of Config that does not conflict with the implementation of this "readonly" Config.