Major re-work of this idea and code is in the works. I hope to incorporate most, if not all of the suggestions made here.