It's hard to believe how spot-on this is to what I've been looking for. I thought about coding something almost exactly like this, for the exact same reasons as the author describes.
I see this is from earlier in the year; I've certainly googled for this kind of thing a few times since then, and never got this as a result.
Thanks OP for posting.