I like this.  I even had a version quite similar to this in a previous incarnation.  I am not sure why I changed it.

In the interest of not muddying up the commit history, I'll include this in a larger set of changes if more feedback comes in the next day or so.  Alternatively, if it turns out this whole pull-request is undesirable, I'll save myself some editing. :smile: