code: function(config, protoFactory, originalModule) {
  
  		this.config = config;
  		this.protoFactory = protoFactory;
  		this.originalModule = originalModule || module;
  
  		//defines if circular dependencies should throw an error or be gracefully handled
  		this.allowCircular = this.config.allowCircular || false;
  		this.modules = [];
  
  		if(define.amd && typeof requirejs !== "undefined") {
  			this._loader = require;
  		} else if(define.amd && typeof curl !== "undefined") {
  			this._loader = curl;
  		} else {
  			this._loader = this._commonRequire;
  		}
  	}
docs: Create a new AppContext with config
  
  @constructor
  @param {Object} config
  @param {Object} protoFactory
  @param {Object} originalModule The original node module use to load node modules on the right path