Your config class has the responsibility of tracking configuration, which is implements by holding private references to certain data, and providing access to them through mutator methods. This does not break the SRP, because *the class itself still has a single responsibility*; the mutators simply help it accomplish that responsibility by abstracting access to the data. This does not give the mutators another responsibility, it means they are a part of the greater responsibility of the class.