Refactored ConfigElement - splitting into multiple classes