Factored out the common config code into a parent.

Now the children only concern themselves with file read/writes.