Checking the module first and then the parameter name was deliberate, otherwise foreman-proxy-foo will get ordered between foreman-example and foreman-zulu, so I treated them as two independent items.

Good catch on the module ordering - that wasn't deliberate, I meant to use module.name :)