The defaults only come into play if you don't *explicitly* pass a value. If this gets called with a None explicitly passed for one or more values, the None will override the default. And it seems easier to just do this here rather than higher up where you'd essentially be doing the same thing anyway, but in a less centralized location and for less obvious reasons.