StackOverflow isn't really the place for architecture patterns and data structure discussions. There is multiple ways and any answer would probably at least to a huge part be opinion based ... Why have separate classes at all? Why can't the config itself already implement that interface?