code: function ( oOpts )
  	{
  		var that = this;
  
  		this._fnCustomiseSettings( oOpts );
  
  		/* Container element */
  		this.dom.container = document.createElement( this.s.tags.container );
  		this.dom.container.className = this.classes.container;
  
  		/* Row selection config */
  		if ( this.s.select.type != 'none' )
  		{
  			this._fnRowSelectConfig();
  		}
  
  		/* Buttons */
  		this._fnButtonDefinations( this.s.buttonSet, this.dom.container );
  
  		/* Destructor */
  		this.s.dt.aoDestroyCallback.push( {
  			"sName": "TableTools",
  			"fn": function () {
  				$(that.s.dt.nTBody)
  					.off( 'click.DTTT_Select', that.s.custom.sRowSelector )
  					.off( 'mousedown.DTTT_Select', 'tr' )
  					.off( 'mouseup.DTTT_Select', 'tr' );
  
  				$(that.dom.container).empty();
  
  				// Remove the instance
  				var idx = $.inArray( that, TableTools._aInstances );
  				if ( idx !== -1 ) {
  					TableTools._aInstances.splice( idx, 1 );
  				}
  			}
  		} );
  	}
docs: /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  Private methods (they are of course public in JS, but recommended as private)
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
  Constructor logic
  @method  _fnConstruct
  @param   {Object} oOpts Same as TableTools constructor
  @returns void
  @private