 			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)

			return resolveByClass(type);
		}
		
		private function resolveByClass(type:Class):*
		{
			if (!type)

	import flash.utils.getDefinitionByName;
	
	/**
	 * The default AsFactory allows for registering instances, types, or callbacks
	 */
	public class AsFactory
	{
		private var _registrations:Dictionary;
		
		/**
		 * Constructs a new AsFactory
		 */
		public function AsFactory()
		{
			_registrations = new Dictionary();
		}
		
		/**
		 * Registers a concrete instance to be returned whenever the target type is requested
		 * @param	instance the concrete instance to be returned
		 * @param	type the target type for which the instance should be returned at resolution time
		 */
		public function registerInstance(instance:Object, type:Class):void
		{
			var returnInstance:Function = function():Object
