See the paper at http://conferences.oreillynet.com/pub/w/10/tcl_presentations.html