Customers will never be writing that - they'll be creating this via configuration. This class is in the implementation package and not meant for public consumption/construction.

Which reminds me, I'll see if I can set this to package-only visibility.