Refactor config change controller and tests