Should `msg` have a default here? If msg is None applications that require a message to generate configuration will only be able to create a some subset of the full configuration.