After thinking about it, we should probably just use a proc. I think that's probably the solution most people would use/expect. I will get working on that this morning.