code: function(element) {
  			var moduleName = getModuleName(element),
  				moduleData = modules[moduleName],
  				instanceData,
  				context,
  				module;
  
  			if (!moduleData) {
  				error(new Error('Module type "' + moduleName + '" is not defined.'));
  				return;
  			}
  
  			if (!this.isStarted(element)) {
  				// Auto-assign module id to element
  				if (!element.id) {
  					element.id = 'mod-' + moduleName + '-' + moduleData.counter;
  				}
  
  				moduleData.counter++;
  
  				context = new Box.Context(this, element);
  
  				module = moduleData.creator(context);
  
  				// Prevent errors from showing the browser, fire event instead
  				if (!globalConfig.debug) {
  					captureObjectErrors(module, moduleName);
  				}
  
  				instanceData = {
  					moduleName: moduleName,
  					instance: module,
  					context: context,
  					element: element,
  					eventHandlers: {}
  				};
  
  				bindEventListeners(instanceData);
  
  				instances[element.id] = instanceData;
  
  				callModuleMethod(instanceData.instance, 'init');
  
  				var moduleBehaviors = getBehaviors(instanceData),
  					behaviorInstance;
  
  				for (var i = 0, len = moduleBehaviors.length; i < len; i++) {
  					behaviorInstance = moduleBehaviors[i];
  					callModuleMethod(behaviorInstance, 'init');
  				}
  
  			}
  		}
docs: Begins the lifecycle of a module (registers and binds listeners)
  @param {HTMLElement} element DOM element associated with module to be started
  @returns {void}