If I want to get really pedantic, every bit of functionality not directly tied to an HTML attribute belongs in a module namespace:
```javascript
var CrichtonNameSpace = CrichtonNameSpace || {};

CrichtonNameSpace.success_callback = function(tag, data) {
     var content = $(data).filter('.main-content');
     $(tag).replaceWith(content);
     var self_href = $('a[rel="self"]', content).attr('href');
     history.pushState({}, '', self_href);
 }

...

           success: function(data, status, xhr) {
               CrichtonNameSpace.success_callback('.maincontent', data);
            }
```

Etc...  This is a _best practice_ but is probably more trouble than it's worth right now.  For future reference probably...