I think it's time to add a companion object with an apply method, so instead of having to provide all the parameters each time you can change this apply signature to be more optimal to what you want and to also have defaults.

This would save you from having to provide all the parameters all the time, and if you wanted to change say the last parameter, you could just refer to it when you use the apply method. Config("uk/something", None, Some(_), href=Some(thing)). See we didn't provide collectionTone!