 			registerCallback(resolveType, type, asSingleton);
 		}
 		
+		/**
+		 * Registers a callback to be executed, the result of which is returned whenever the target type is requested
+		 * @param	callback the callback to execute
+		 * @param	type the type being requested
+		 * @param	asSingleton If true, only one instance will be created and returned on each request. If false (default), a new instance
+		 * is created and returned at each resolution request
+		 */
 		public function registerCallback(callback:Function, type:Class, asSingleton:Boolean=false):void 
 		{
 			if (!type)

				_registrations[type] = callback;
		}
		
		public function resolve(type:Class):*
		{
			if (_registrations[type] !== undefined)

			registerCallback(returnInstance, type, false);
		}
		
		/**
		 * Registers a type to be returned whenever the target type is requested
		 * @param	instanceType the type to construct at resolution time
		 * @param	type the type being requested
		 * @param	asSingleton If true, only one instance will be created and returned on each request. If false (default), a new instance
		 * is created and returned at each resolution request
		 */
		public function registerType(instanceType:Class, type:Class, asSingleton:Boolean=false):void 
		{
			if (!instanceType)
