src/core.js
function use(fullQualifiedClassName) {
	var container = use.getContainer(fullQualifiedClassName)
	;
	
	if (container._loader === null) {
		use.loadCount++;
		container._loader = Ajax.factory(
			"get", container._path + use.fileExtension
		);
		container._loader.addEventListener(Ajax.Event.LOAD, function(event) {
			var  domains
				, className
			;
			use.loadCount--;
			// Load into script ram
			container._class = new Function(event.detail.responseText);
			// Import into context
			domains = fullQualifiedClassName.split(use.classPathDelimiter);
			className = domains.pop();
			
			namespace(domains.join(use.classPathDelimiter), function() {
				var contextBackup = null
					, property
				;
				// Save old class name
				if(this.hasOwnProperty(className)) {
					contextBackup = this[className];
				}
				// Run loaded code
				container._class.call(this);
				
				// Restore backup
				if (contextBackup === null) return;
				if (this[className] !== contextBackup) {
					for(property in contextBackup) {
						if(property == className) continue;
						if(this[className].hasOwnProperty(property)) {
							throw new Error(
								"CoreJs: "
								+ "Overlapping namespace with class "
								+ "property '"
								+ fullQualifiedClassName +"."+property
								+"' detected."
							);
						} else {
							this[className][property] = contextBackup[property];
						}
					}
				}
			});
		});
		container._loader.addEventListener(
			Ajax.Event.LOAD, namespace.handleEvent
		);
		container._loader.load();
	}
}
function use(fullQualifiedClassName) {
	var container = use.getContainer(fullQualifiedClassName)
	;
	
	if (container._loader === null) {
		use.loadCount++;
		container._loader = Ajax.factory(
			"get", container._path + use.fileExtension
		);
		container._loader.addEventListener(Ajax.Event.LOAD, function(event) {
			var  domains
				, className
			;
			use.loadCount--;
			// Load into script ram
			container._class = new Function(event.detail.responseText);
			// Import into context
			domains = fullQualifiedClassName.split(use.classPathDelimiter);
			className = domains.pop();
			
			namespace(domains.join(use.classPathDelimiter), function() {
				var contextBackup = null
					, property
				;
				// Save old class name
				if(this.hasOwnProperty(className)) {
					contextBackup = this[className];
				}
				// Run loaded code
				container._class.call(this);
				
				// Restore backup
				if (contextBackup === null) return;
				if (this[className] !== contextBackup) {
					for(property in contextBackup) {
						if(property == className) continue;
						if(this[className].hasOwnProperty(property)) {
							throw new Error(
								"CoreJs: "
								+ "Overlapping namespace with class "
								+ "property '"
								+ fullQualifiedClassName +"."+property
								+"' detected."
							);
						} else {
							this[className][property] = contextBackup[property];
						}
					}
				}
			});
		});
		container._loader.addEventListener(
			Ajax.Event.LOAD, namespace.handleEvent
		);
		container._loader.load();
	}
}
function use ( fullQualifiedClassName ) { var container = use . getContainer ( fullQualifiedClassName ) ; if ( container . _loader === null ) { use . loadCount ++ ; container . _loader = Ajax . factory ( "get" , container . _path + use . fileExtension ) ; container . _loader . addEventListener ( Ajax . Event . LOAD , function ( event ) { var domains , className ; use . loadCount -- ; // Load into script ram
 container . _class = new Function ( event . detail . responseText ) ; // Import into context
 domains = fullQualifiedClassName . split ( use . classPathDelimiter ) ; className = domains . pop ( ) ; namespace ( domains . join ( use . classPathDelimiter ) , function ( ) { var contextBackup = null , property ; // Save old class name
 if ( this . hasOwnProperty ( className ) ) { contextBackup = this [ className ] ; } // Run loaded code
 container . _class . call ( this ) ; // Restore backup
 if ( contextBackup === null ) return ; if ( this [ className ] !== contextBackup ) { for ( property in contextBackup ) { if ( property == className ) continue ; if ( this [ className ] . hasOwnProperty ( property ) ) { throw new Error ( "CoreJs: " + "Overlapping namespace with class " + "property '" + fullQualifiedClassName + "." + property + "' detected." ) ; } else { this [ className ] [ property ] = contextBackup [ property ] ; } } } } ) ; } ) ; container . _loader . addEventListener ( Ajax . Event . LOAD , namespace . handleEvent ) ; container . _loader . load ( ) ; } }
Auto load system.

@signleton
Auto load system .