        // defer hash change updates every 100ms
                     changeDefer: 100,
                     changeTimeout: null,
                     onHashChange: function() {
                         // throttle calls to update() so that they only happen every
                         // `changeDefer` ms
                         if (!this.changeTimeout) {
                             var that = this;
                             this.changeTimeout = setTimeout(function() {
                               