I thought I was done with the UI component, but Mike Hanson offered up some additional code, and Greg Fasolt suggested a new feature, and then I found a couple of potential problems with the code...