If I understood the discussion in this morning's support call correctly, Mark had some thoughts on a better way to do this, so I'm giving the ticket to him so he can discuss them...