This is a nice application. It should probably go as an example in the narrative documentation.