I'll have to look at this when I have more time, but at a glance it seems very useful. Thanks for the tutorial!