code: function(subject, obj) {
  			if (typeof (subject) != "function") {
  				var spritz = Spritzr._getSpritzrVar(subject);
  
  				if (spritz) {
  					var i = spritz.talentClasses.indexOf(obj);
  					if (i > -1) {
  						spritz.talents.splice(i, 1);
  						spritz.talentClasses.splice(i, 1);
  					}
  				}
  
  				// Go through all the talent properties and reinstate existing
  				// methods
  				for (key in obj.prototype) {
  					// Check if the defined method is actually the trait method
  					if (subject[key] === obj.prototype[key]) {
  						var found = false;
  
  						for (var i = spritz.talents.length - 1; i >= 0; --i) {
  							var talent = spritz.talents[i];
  
  							if (typeof talent.prototype[key] !== "undefined") {
  								subject[key] = talent.prototype[key];
  								found = true;
  								break;
  							}
  						}
  
  						if (!found) {
  							if (typeof spritz.removed[key] !== 'undefined') {
  								if (spritz.removed[key] === Spritzr._noPreviousMethod) {
  									// The object previously didn't have the
  									// method defined.
  									delete subject[key];
  								} else {
  									subject[key] = spritz.removed[key];
  								}
  								delete spritz.removed[key];
  							} else {
  								delete subject[key];
  							}
  						}
  					}
  				}
  			}
  		}
docs: Does the opposite of <code>spritz()</code>, although currently
  only removes talents from instances (does not work on traits on
  classes).
  
  @param subject
  @param obj