Koos,
In this case I would define a pay slip printing class in a PRG that was a subclass of one in my VCX. I would exclude the PRG and do exactly what you are doing, only the new PRG would simply be a redefinition of the payslip printing class. In this fashion everything is still in methods of the objects and thus avoids the problems related to calling out to a Proc.