Combine config reader and writer into single config class

Enables proper extensibility.