I considered suggesting something like this. But I'm not sure either way, it really depends on how portable it would be. Also there are COM classes to think about too.