I should just clarify my previous post. I was just trying to say that both LSoft and Lyris pretty much address the stated concerns, and if you really want to build a similar system, it's probably best off looking at how those two systems work as a starting point.
Cheers
Ken
www.adOpenStatic.com