Use a config object as constructor param
There are many different constructor params by now, with good reasons to use any one of them without using the others, meaning there's likely not an optimal ordering. I propose to replace it with a config object instead.