http://jakiestfu.github.com/Behave.js/ More features and probably better cross-browser support. This gets rid of the most complex and nasty parts of the client CS code.