@example42 I've updated it now. I think that generally design based on performance rather than modularity is a wrong thing for Puppet stuff in general, but given that it's one of the most invoked classes I can see your reasoning.

Please see the second commit for updates.