An extension to backbone.js that adds beforepopstate, beforepushstate and pushstate events