[eluser]xwero[/eluser]
Colin i believe if there is a better solution you have to let the OP know it exists.
If you build a complex method/function on a complex method/function it's more likely bugs are going to appear and if you are not aware the bugs happen because of the build in function/method debugging can take a lot of time as you check your own code first.