What's the reason for this change?

You drop the default from the signature in favor of moving it into the constructor logic, why?