poopla #1 I have most of what you seem to want to do there done already. And unless you are simpley trying to make everything as explicit as possible in it's function, you're over complicating stuff it seems.