 			messageDisplay(event.fault.name, msg, true);
 		}
 
-		//////////////////////////////
-		// Initialization
-         	
-		[Bindable] public var migrationProgress:String = '';
-		
-		private function initializeAdminService():void
-		{
-            var req:URLRequest = new URLRequest(adminService.servletURL);
-            req.data = new URLVariables();
-            req.method = URLRequestMethod.GET;
-            req.data["method"] = "initializeAdminService";
-            var loader:URLStream = new URLStream();
-            loader.addEventListener(ProgressEvent.PROGRESS, progressHandler);
-            loader.addEventListener(Event.COMPLETE, initializeAdminServiceComplete);
-            loader.addEventListener(IOErrorEvent.IO_ERROR, initializeAdminServiceError);
-            loader.load(req);
-		}
-		private function progressHandler(event:ProgressEvent):void
-		{
-			var stream:URLStream = event.target as URLStream;
-			if (stream.bytesAvailable > 0)
-			{
-				var text:String = migrationProgress;
-				text += "\n" + stream.readMultiByte(stream.bytesAvailable, "iso-8859-01");
-				text = StandardLib.replace(text, "\r\n", "\n");
-				text = StringUtil.trim(text).split('\n').pop();
-				migrationProgress = text;
-			}
-		}
-        private function initializeAdminServiceComplete(event:Event):void
-        {
-            initialized=true;
-			queue.begin();
-        }
-        private function initializeAdminServiceError(event:IOErrorEvent):void
-        {
-            messageDisplay(event.type, event.text, true);
-        }
-		
 		public function checkDatabaseConfigExists():AsyncToken
 		{
 			return invokeAdmin(checkDatabaseConfigExists, arguments);


package weave.services
{
	import avmplus.DescribeType;
	
	import flash.events.Event;
	import flash.events.IOErrorEvent;
	import flash.events.ProgressEvent;

		{
			adminService = registerLinkableChild(this, new AMF3Servlet(url + "/AdminService"));
			dataService = registerLinkableChild(this, new AMF3Servlet(url + "/DataService"));
			queue = registerLinkableChild(this, new AsyncInvocationQueue(true)); // paused
			
			var info:* = describeTypeJSON(this, DescribeType.METHOD_FLAGS);
			for each (var item:Object in info.traits.methods)
