Hi,
Great package!

I think, it is better to inject these defaults opts by passing it to the constructor instead of having a predefined one in the function body. In my point of view, this new function is behaving like a builder. Maybe you could provide a builder and constructor for this package.
Best regards,
Donutloop