A far too complex answer to simply toss into page 9 of a thread. I'll reserve it for an upcoming blog.