When you say "2 or more logically different grids," do you mean multiple instances of CompetitorGrid?

If so, would that mean something like defining `CompetitorGrid` as a constructor-type function instead of a static object? That is, I might do something like:
```javascript
function CompetitorGrid(numRows) {
    this.results = null;
    this.minRows = numRows;
    this.lastSort = null;
}
```
...followed by defining the methods under the prototype property, like this:
```javascript
CompetitorGrid.prototype = {
    load: function() {
        // do ajax call, etc...
    },
    sorters: {
        'email': function () { ... },
        'name': function () { ... }
    }
};
```
...and then in the `$.ready` function, creating an instance of the `CompetitorGrid` object with something like:
```javascript
var cg = new CompetitorGrid(10); // to create a grid with at least 10 rows
cg.load();
cg.addSort();
```
I've tested something of this nature, and it appears to have the desired results (with a little developer tools console testing.