Thanks for the responses. The answer to the question is what I suspected.
I've been using something similar to Peter's cf_wrapper in concept, that is highly site specific. I'll have a closer look at Peter's implementation, to see if I can adapt it, and at modifying my own solution, or simply accepting and processing internally (least desired option).