This is exactly the "solution" I've been toying with. There are still problems, but it is far easier than any alternative I've contemplated.