Another code consistency note...

````javascript
var resize = this.variants.resize,
    crop = this.variants.crop;
return { "resize": resize, "crop": crop };
````

And in this case it might just be neater to write

````javascript
return {
    resize: this.variants.resize,
    crop: this.variants.crop
};
````

On the naming on this function, it seems more of a `getVariants` than `setupVariants`... *setup* implies initialisation or processing.