code: function ScriptHelper(opt) {
  
  	// default configuration
  	this.config = {
  		'root': 		(module.parent) ? path.dirname(module.parent.filename) : __dirname,
  		'macro':		'#include',
  		'extension':	'lua',
  		'encoding':		null
  	};
  
  	// if options are provided, set those options
  	if (typeof opt === 'string') opt = {'root': opt};
  	if (typeof opt === 'object') {
  		for (var key in opt) {
  			if (opt.hasOwnProperty(key) && typeof this.config[key] !== 'undefined') 
  				this.config[key] = opt[key];
  		}
  	}
  
  	// prepend a . before extension config value
  	if (this.config.extension) {
  		if (this.config.extension.substr(0, 1) !== '.') 
  			this.config.extension = '.' + this.config.extension;
  	} else { this.config.extension = ''; }
  
  	// set internal vars
  	this.clearCache();
  
  }
docs: /* constructor
  
  options object:
  root		the root directory of all script files
  macro		the macro string to use, defaults to #include
  extension	the only valid extension for script files
  encoding	set the lua script file encoding, defaults to utf8