Looks interesting, I'll think this over and post a CS some time.