func New(version Version) (Config, error) {
	if constructor, exists := registry[version]; exists {
		return constructor(), nil
	}
	return nil, UnsupportedVersionError{Version: version}
}
New creates Config instances from the previously registered implementations through Register
package config
var (
	registry = make(map[Version]func() Config)
)
func Register(version Version, constructor func() Config) {
	registry[version] = constructor
}
func IsRegistered(version Version) bool {
	_, ok := registry[version]
	return ok
}