Move to a config builder, keeping config immutable