All the ideas presented here are workable. I definitely have a lot of
solutions to choose from. Thanks everyone for your help. I wasn't sure
if there was some sort of language feature to naturally do this, so I
had to post on the mailing list to make sure.