Index: /trunk/ova.as3/src/org/openvideoads/regions/config/RegionsConfig.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/regions/config/RegionsConfig.as	(revision 619)
+++ /trunk/ova.as3/src/org/openvideoads/regions/config/RegionsConfig.as	(revision 753)
@@ -62,5 +62,5 @@
 			_regions = new Array();
 			if(newRegions != null) {
-			doLog("Recording " + newRegions.length + " custom region declarations...", Debuggable.DEBUG_REGION_FORMATION);
+				doLog("Recording " + newRegions.length + " custom region declarations...", Debuggable.DEBUG_REGION_FORMATION);
 				for(var i:int=0; i < newRegions.length; i++) {
 					var regionViewConfig:RegionViewConfig = new RegionViewConfig(properties);
Index: /trunk/ova.as3/src/org/openvideoads/vast/model/WrappedVideoAdServingTemplateV2.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/model/WrappedVideoAdServingTemplateV2.as	(revision 662)
+++ /trunk/ova.as3/src/org/openvideoads/vast/model/WrappedVideoAdServingTemplateV2.as	(revision 753)
@@ -21,8 +21,8 @@
 	
 	import org.openvideoads.base.Debuggable;
-	import org.openvideoads.server.config.AdServerConfig;
-	import org.openvideoads.server.response.AdServerTemplate;
+	import org.openvideoads.vast.server.config.AdServerConfig;
+	import org.openvideoads.vast.server.response.AdServerTemplate;
 	import org.openvideoads.util.StringUtils;
-	import org.openvideoads.vast.server.wrapped.WrappedAdServerRequest;
+	import org.openvideoads.vast.server.request.wrapped.WrappedAdServerRequest;
 	
 	/**
Index: /trunk/ova.as3/src/org/openvideoads/vast/model/WrappedVideoAdV1.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/model/WrappedVideoAdV1.as	(revision 619)
+++ /trunk/ova.as3/src/org/openvideoads/vast/model/WrappedVideoAdV1.as	(revision 753)
@@ -22,12 +22,12 @@
 	import org.openvideoads.base.Debuggable;
 	import org.openvideoads.regions.view.FlashMedia;
-	import org.openvideoads.server.config.AdServerConfig;
-	import org.openvideoads.server.response.AdServerTemplate;
-	import org.openvideoads.server.response.TemplateLoadListener;
 	import org.openvideoads.util.NetworkResource;
 	import org.openvideoads.util.StringUtils;
 	import org.openvideoads.vast.analytics.AnalyticsProcessor;
 	import org.openvideoads.vast.events.VideoAdDisplayEvent;
-	import org.openvideoads.vast.server.wrapped.WrappedAdServerRequest;
+	import org.openvideoads.vast.server.config.AdServerConfig;
+	import org.openvideoads.vast.server.response.AdServerTemplate;
+	import org.openvideoads.vast.server.response.TemplateLoadListener;
+	import org.openvideoads.vast.server.request.wrapped.WrappedAdServerRequest;
 	
 	/**
Index: /trunk/ova.as3/src/org/openvideoads/vast/model/VideoAdServingTemplate.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/model/VideoAdServingTemplate.as	(revision 717)
+++ /trunk/ova.as3/src/org/openvideoads/vast/model/VideoAdServingTemplate.as	(revision 753)
@@ -24,8 +24,4 @@
 	
 	import org.openvideoads.base.Debuggable;
-	import org.openvideoads.server.model.AbstractVideoAd;
-	import org.openvideoads.server.request.AdServerRequest;
-	import org.openvideoads.server.response.AdServerTemplate;
-	import org.openvideoads.server.response.TemplateLoadListener;
 	import org.openvideoads.util.InjectedLoader;
 	import org.openvideoads.util.NetworkResource;
@@ -34,5 +30,8 @@
 	import org.openvideoads.util.Timestamp;
 	import org.openvideoads.vast.analytics.AnalyticsProcessor;
-	import org.openvideoads.vast.server.injected.InjectedVASTAdRequest;
+	import org.openvideoads.vast.server.request.AdServerRequest;
+	import org.openvideoads.vast.server.response.AdServerTemplate;
+	import org.openvideoads.vast.server.response.TemplateLoadListener;
+	import org.openvideoads.vast.server.request.injected.InjectedVASTAdRequest;
 	
 	/**
@@ -512,5 +511,5 @@
 								var vad:VideoAd = null;
 								for each(var linear:LinearVideoAd in linears) {
-									vad = createVideoAd_V2(adId, ad, creativeId, sequenceId, AbstractVideoAd.AD_TYPE_LINEAR, internalInlineAdID, templateAdId);
+									vad = createVideoAd_V2(adId, ad, creativeId, sequenceId, VideoAd.AD_TYPE_LINEAR, internalInlineAdID, templateAdId);
 									if(impressions.length > 0) vad.impressions = impressions;
 									if(extensions.length > 0) vad.extensions = extensions;
@@ -524,5 +523,5 @@
 
 								if(nonLinears.length > 0) {
-									vad = createVideoAd_V2(adId, ad, creativeId, sequenceId, AbstractVideoAd.AD_TYPE_NON_LINEAR, internalInlineAdID, templateAdId);
+									vad = createVideoAd_V2(adId, ad, creativeId, sequenceId, VideoAd.AD_TYPE_NON_LINEAR, internalInlineAdID, templateAdId);
 									if(impressions.length > 0) vad.impressions = impressions;
 									if(extensions.length > 0) vad.extensions = extensions;
@@ -536,5 +535,5 @@
 								
 								if((linears.length == 0 && nonLinears.length == 0 && companions.length > 0) || false) { // change false in the future to ads.companions.scheduleCompanionsSeparately
-									vad = createVideoAd_V2(adId, ad, creativeId, sequenceId, AbstractVideoAd.AD_TYPE_COMPANION, internalInlineAdID, templateAdId);
+									vad = createVideoAd_V2(adId, ad, creativeId, sequenceId, VideoAd.AD_TYPE_COMPANION, internalInlineAdID, templateAdId);
 									if(impressions.length > 0) vad.impressions = impressions;
 									if(extensions.length > 0) vad.extensions = extensions;
@@ -567,5 +566,5 @@
 						for each(videoAd in _ads) {
 							if(videoAd.belongsToInlineAd(internalInlineAdID)) {
-								if(videoAd.adType != AbstractVideoAd.AD_TYPE_COMPANION && !videoAd.hasCompanionAds()) {
+								if(videoAd.adType != VideoAd.AD_TYPE_COMPANION && !videoAd.hasCompanionAds()) {
 									if(StringUtils.isEmpty(attachableCompanion.creativeId) && StringUtils.isEmpty(attachableCompanion.sequenceId)) {
 	  									doLog("Attaching companions PASS 1 (sequence: '" + attachableCompanion.sequenceId + "', creativeID: '" + attachableCompanion.creativeId + "', AdID: '" + attachableCompanion.adId + "') to video ad '" + videoAd.adType + ": " + videoAd.id + "'", Debuggable.DEBUG_VAST_TEMPLATE);
@@ -585,5 +584,5 @@
 						for each(videoAd in _ads) {
 							if(videoAd.belongsToInlineAd(internalInlineAdID)) {
-								if(videoAd.adType != AbstractVideoAd.AD_TYPE_COMPANION) {
+								if(videoAd.adType != VideoAd.AD_TYPE_COMPANION) {
 									if((videoAd.sequenceId != null && (videoAd.sequenceId == attachableCompanion.sequenceId)) ||
 								   	   (videoAd.creativeId != null && (videoAd.creativeId == attachableCompanion.creativeId))) { 
Index: /trunk/ova.as3/src/org/openvideoads/vast/model/TrackedVideoAd.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/model/TrackedVideoAd.as	(revision 662)
+++ /trunk/ova.as3/src/org/openvideoads/vast/model/TrackedVideoAd.as	(revision 753)
@@ -257,5 +257,4 @@
 		public function getClickThroughURLString():String {
 			if(hasClickThroughs()) {
-//				return _clickThroughs[0].qualifiedHTTPUrl;
 				return _clickThroughs[0].qualifiedUrl;
 			}	
Index: /trunk/ova.as3/src/org/openvideoads/vast/model/VideoAd.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/model/VideoAd.as	(revision 681)
+++ /trunk/ova.as3/src/org/openvideoads/vast/model/VideoAd.as	(revision 753)
@@ -22,6 +22,5 @@
 	import org.openvideoads.base.Debuggable;
 	import org.openvideoads.regions.view.FlashMedia;
-	import org.openvideoads.server.config.AdServerConfig;
-	import org.openvideoads.server.model.AbstractVideoAd;
+	import org.openvideoads.vast.server.config.AdServerConfig;
 	import org.openvideoads.util.NetworkResource;
 	import org.openvideoads.util.StringUtils;
@@ -32,5 +31,6 @@
 	 * @author Paul Schulz
 	 */
-	public class VideoAd extends AbstractVideoAd {
+	public class VideoAd extends Debuggable {
+		protected var _id:String;
 		protected var _inlineAdId:String = null;
 		protected var _adId:String = null;
@@ -55,4 +55,8 @@
 		protected var _preferredSelectionCriteria:Object = null;
 
+		public static const AD_TYPE_LINEAR:String = "linear";
+		public static const AD_TYPE_NON_LINEAR:String = "non-linear";
+		public static const AD_TYPE_COMPANION:String = "companion";
+		public static const AD_TYPE_UNKNOWN:String = "unknown";
 		public static const AD_TYPE_VPAID_LINEAR:String = "linear-vpaid";
 		public static const AD_TYPE_VPAID_NON_LINEAR:String = "non-linear-vpaid";		
@@ -62,5 +66,5 @@
 		}
 
-		public override function unload():void {
+		public function unload():void {
 			if(hasAds()) {
 				if(hasLinearAd()) {
@@ -89,5 +93,13 @@
 			}
 		}
-		
+
+		public function set id(id:String):void {
+			_id = id;
+		}
+		
+		public function get id():String {
+			return _id;
+		}
+
 		public function setPreferredSelectionCriteria(criteria:Object):void {
 			_preferredSelectionCriteria = criteria;
@@ -133,4 +145,13 @@
 		}
 		
+		public function hasAds(includeEmptyAdsInCount:Boolean=false):Boolean {
+			if(includeEmptyAdsInCount) {
+				return (hasLinearAd() || hasNonLinearAds() || hasImpressions());
+			}
+			else {
+				return (hasEmptyLinearAd() == false) || (hasNonLinearAds() && (hasEmptyNonLinearAds() == false));
+			}
+		}
+				
 		public function hasMultipleAdUnits():Boolean {
 			return (hasLinearAd() && hasNonLinearAds());
@@ -147,4 +168,11 @@
 		}
 
+		protected function isAcceptableLinearAdMediaFileMimeType(mimeType:String, adServerConfig:AdServerConfig):Boolean {
+			if(adServerConfig != null) {
+				return adServerConfig.isAcceptedLinearAdMimeType(mimeType);
+			}
+			return true;			
+		}
+		
 		public function hasWrapper():Boolean {
 			return (_wrapper != null);
@@ -619,5 +647,5 @@
 		}
 		
-		public override function hasImpressions():Boolean {
+		public function hasImpressions():Boolean {
 			return (_impressions.length > 0);
 		}
@@ -716,13 +744,13 @@
 		}
 		
-		public override function hasNonLinearAds():Boolean {
+		public function hasNonLinearAds():Boolean {
 			return _nonLinearVideoAds.length > 0;
 		}
 
-		public override function hasLinearAd():Boolean {
+		public function hasLinearAd():Boolean {
 			return (_linearVideoAd != null);
 		}
 
-		public override function hasEmptyLinearAd():Boolean {
+		public function hasEmptyLinearAd():Boolean {
 			if(linearVideoAd != null) {
 				return linearVideoAd.isEmpty();
@@ -731,5 +759,5 @@
 		}
 
-		public override function hasEmptyNonLinearAds():Boolean {
+		public function hasEmptyNonLinearAds():Boolean {
 			if(hasNonLinearAds()) {
 				var result:Boolean = true;
@@ -806,5 +834,5 @@
 		}		
 		
-		public override function get adType():String {
+		public function get adType():String {
 			if(isLinear()) {
 				if(isInteractive()) {
Index: /trunk/ova.as3/src/org/openvideoads/vast/playlist/PlaylistController.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/playlist/PlaylistController.as	(revision 717)
+++ /trunk/ova.as3/src/org/openvideoads/vast/playlist/PlaylistController.as	(revision 753)
@@ -21,7 +21,4 @@
 	import org.openvideoads.vast.playlist.mrss.MediaRSSPlaylist;
 	import org.openvideoads.vast.playlist.smil.SMILPlaylist;
-//	import org.openvideoads.vast.playlist.rss.RSSPlaylist;
-//	import org.openvideoads.vast.playlist.xml.XMLPlaylist;
-//	import org.openvideoads.vast.playlist.xspf.XSPFPlaylist;
 	import org.openvideoads.vast.schedule.StreamSequence;
 	
@@ -43,12 +40,4 @@
 				case PLAYLIST_FORMAT_MEDIA:
 					return new MediaRSSPlaylist(streamSequence, showProviders, adProviders);
-/*
-				case PLAYLIST_FORMAT_RSS:
-					return new RSSPlaylist(streamSequence, showProviders, adProviders);
-				case PLAYLIST_FORMAT_XML:
-					return new XMLPlaylist(streamSequence, showProviders, adProviders);
-				case PLAYLIST_FORMAT_XSPF:
-					return new XSPFPlaylist(streamSequence, showProviders, adProviders);
-*/
 			}
 			return new DefaultPlaylist(streamSequence, showProviders, adProviders);
@@ -61,12 +50,4 @@
 				case PLAYLIST_FORMAT_MEDIA:
 					return new MediaRSSPlaylist();
-/*
-				case PLAYLIST_FORMAT_RSS:
-					return new RSSPlaylist();
-				case PLAYLIST_FORMAT_XML:
-					return new XMLPlaylist();
-				case PLAYLIST_FORMAT_XSPF:
-					return new XSPFPlaylist();
-*/
 			}
 			return new DefaultPlaylist();			
@@ -79,12 +60,4 @@
 				case "MRSS":
 					return PLAYLIST_FORMAT_MEDIA;
-/*
-				case "RSS":
-					return PLAYLIST_FORMAT_RSS;
-				case "XML":
-					return PLAYLIST_FORMAT_XML;
-				case "XSPF":
-					return PLAYLIST_FORMAT_XSPF;
-*/
 			}
 			return PLAYLIST_FORMAT_DEFAULT;			
Index: /trunk/ova.as3/src/org/openvideoads/vast/VASTController.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/VASTController.as	(revision 734)
+++ /trunk/ova.as3/src/org/openvideoads/vast/VASTController.as	(revision 753)
@@ -26,13 +26,11 @@
 	import flash.net.navigateToURL;
 	import flash.system.Capabilities;
-//	import flash.ui.ContextMenu;
-//	import flash.ui.ContextMenuItem;
 	import flash.utils.Timer;
 	
 	import org.openvideoads.base.Debuggable;
 	import org.openvideoads.base.EventController;
-	import org.openvideoads.server.events.TemplateEvent;
-	import org.openvideoads.server.response.AdServerTemplate;
-	import org.openvideoads.server.response.TemplateLoadListener;
+	import org.openvideoads.vast.server.events.TemplateEvent;
+	import org.openvideoads.vast.server.response.AdServerTemplate;
+	import org.openvideoads.vast.server.response.TemplateLoadListener;
 	import org.openvideoads.util.BrowserUtils;
 	import org.openvideoads.util.DisplayProperties;
@@ -66,6 +64,4 @@
 	import org.openvideoads.vast.playlist.Playlist;
 	import org.openvideoads.vast.playlist.PlaylistController;
-//	import org.openvideoads.vast.playlist.mrss.MediaRSSPlaylist;
-//	import org.openvideoads.vast.playlist.xspf.XSPFPlaylist;
 	import org.openvideoads.vast.schedule.DurationlessStreamSequence;
 	import org.openvideoads.vast.schedule.Stream;
@@ -86,5 +82,5 @@
 		public static const RELATIVE_TO_CLIP:String = "relative-to-clip";
 		public static const CONTINUOUS:String = "continuous";
-		public static const VERSION:String = "v1.0.1 RC2 (build 3)";
+		public static const VERSION:String = "v1.0.1 RC2 (build 4)";
 		
 		protected var _streamSequence:StreamSequence = null;
@@ -323,23 +319,4 @@
 		}
 
-/*		
-		public function setupFlashContextMenu(displayContainer:DisplayObjectContainer):void { 
-			var ova_menu:ContextMenu = new ContextMenu();
-			var aboutMenuItem:ContextMenuItem = new ContextMenuItem("About OpenVideoAds.org");
-			var debugMenuItem:ContextMenuItem = new ContextMenuItem("Debug OVA");
- 
-			aboutMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,  
-					function visit_ova(e:Event):void {
-						var ova_link:URLRequest = new URLRequest("http://www.openvideoads.org");
-						navigateToURL(ova_link, "_parent");
-					}
-			);
-			aboutMenuItem.separatorBefore = false;
- 
-			ova_menu.hideBuiltInItems();
-			ova_menu.customItems.push(aboutMenuItem, debugMenuItem);
-			displayContainer.contextMenu = ova_menu; 
-		}
-*/		
 		public function get controllingDisplayOfCompanionContent():Boolean {
 			return _controllingDisplayOfCompanionContent;
@@ -622,20 +599,4 @@
 		// Overlay linear video ad playlist API
 
-/*		
-		public function getActiveOverlayXSPFPlaylist():XSPFPlaylist {
-			if(!allowPlaylistControl) {
-				if(_overlayLinearVideoAdSlot != null) {
-					var adStreamSequence:StreamSequence = new StreamSequence(this);
-					adStreamSequence.addStream(_overlayLinearVideoAdSlot, false);
-					return PlaylistController.createPlaylist(adStreamSequence, PlaylistController.PLAYLIST_FORMAT_XSPF, _config.providersForShows(), _config.providersForAds()) as XSPFPlaylist;			
-				}
-				else doLog("Cannot play the linear ad for this overlay - no adslot attached to the event - ignoring click", Debuggable.DEBUG_PLAYLIST);
-			}
-			else doLog("NOTIFICATION: Overlay clicked event ignored as playlistControl is turned on - this feature is not possible", Debuggable.DEBUG_DISPLAY_EVENTS);
-
-			return null;
-		}
-*/
-		
 		public function getActiveOverlayStreamSequence():StreamSequence {
 			if(!allowPlaylistControl) {
@@ -665,9 +626,4 @@
 		}
 
-/*
-		public function getActiveOverlayMediaRSSPlaylist():MediaRSSPlaylist {
-			return null; // TO BE IMPLEMENTED
-		}
-*/		
 		// Linear Ad Skip button operations
 		
@@ -684,20 +640,4 @@
 		}
 		
-/*		
-		// Playlist API
-
-		public function createPlaylist(type:int):Playlist {
-			return null; // TO BE IMPLEMENTED
-		}
-		
-		public function createXSPFPlaylist():XSPFPlaylist {
-			return PlaylistController.createPlaylist(_streamSequence, PlaylistController.PLAYLIST_FORMAT_XSPF, _config.providersForShows(), _config.providersForAds()) as XSPFPlaylist;
-		}
-
-		public function createMediaRSSPlaylist():MediaRSSPlaylist {
-			return null; // TO BE IMPLEMENTED
-		}
-*/
-				
 		// Time Event Handlers
 		
Index: /trunk/ova.as3/src/org/openvideoads/vast/events/VPAIDAdDisplayEvent.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/events/VPAIDAdDisplayEvent.as	(revision 568)
+++ /trunk/ova.as3/src/org/openvideoads/vast/events/VPAIDAdDisplayEvent.as	(revision 753)
@@ -38,5 +38,4 @@
 		public static const NON_LINEAR_EXPANDED_CHANGE:String = "ova-vpaid-nl-expanded-change";
 		public static const NON_LINEAR_TIME_CHANGE:String = "ova-vpaid-nl-time-change";
-// New ones		
 		public static const LINEAR_LOADED:String = "ova-vpaid-linear-loaded";
 		public static const NON_LINEAR_LOADED:String = "ova-vpaid-nl-loaded";
Index: /trunk/ova.as3/src/org/openvideoads/vast/config/ConfigPreConverter.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/config/ConfigPreConverter.as	(revision 630)
+++ /trunk/ova.as3/src/org/openvideoads/vast/config/ConfigPreConverter.as	(revision 753)
@@ -28,8 +28,5 @@
 
         public static function convert(config:Object):Object {
-//			ConfigPreConverter.runTest();		
 			var result:Object = expandConfig(convertPreV1Config(config));
-//			Debuggable.getInstance().doLog("Config has been converted and expanded - object dump follows:", Debuggable.DEBUG_CONFIG);
-//			Debuggable.getInstance().doTrace(result, Debuggable.DEBUG_CONFIG); 
         	return result;
         }
@@ -693,190 +690,4 @@
         	return config;
         }
-
-/*
-	    public static function runTest():void {
-	    	Debuggable.getInstance().doLog(">>> STARTING CONFIG CONVERSION TESTS", Debuggable.DEBUG_ALWAYS);
-	    	// Test 1 - No conversion necessary
-    		Debuggable.getInstance().doTrace(expandConfig(
-    		   {
-    		   		"ads": {
-	    	   		    "overlays": {
-	    	   		    	"region": "auto:center"
-    		   	   		},
-   						"schedule": [
-   							{
-   								"position": "pre-roll",
-   								"tag": "my-ad-tag"
-   							}
-   						]
-   					}   	   		
-    	   	   }
-    		), Debuggable.DEBUG_ALWAYS);
-    		Debuggable.getInstance().doTrace(expandConfig(
-    		   {
-    		   		"ads": {
-	    	   		    "overlays": {
-	    	   		    	"region": "auto:center"
-    		   	   		},
-   						"schedule": [
-   							{
-   								"startTime": "00:00:05",
-   								"tag": "my-ad-tag"
-   							}
-   						]
-   					}   	   		
-    	   	   }
-    		), Debuggable.DEBUG_ALWAYS);
-    		Debuggable.getInstance().doTrace(expandConfig(
-    		   {
-    		   		"ads": {
-	    	   		    "overlays": {
-	    	   		    	"region": "auto:center",
-	    	   		    	"acceptedAdTypes": [ "image" ],
-	    	   		    	"enableScaling": true,
-	    	   		    	"enforceRecommendedSizing": true,
-	    	   		    	"width": 450,
-	    	   		    	"height": 50,
-	    	   		    	"templates": {
-	    	   		    	   "text": "my text template"
-	    	   		    	}
-    		   	   		},
-   						"schedule": [
-   							{
-   								"startTime": "00:00:05",
-   								"tag": "my-ad-tag"
-   							}
-   						]
-   					}   	   		
-    	   	   }
-    		), Debuggable.DEBUG_ALWAYS);
-    		Debuggable.getInstance().doTrace(expandConfig(
-    		   {
-    		   		"ads": {
-	    	   		    "overlays": {
-	    	   		    	"regions": {
-	    	   		    	    "flash": [
-		    	   		    	    {
-		   			 	   		    	"region": "my-center-region",
-		    	   		    	    	"width": 450,
-		    	   		    	    	"height": 50
-		    	   		    	    },
-		    	   		    	    {
-		   			 	   		    	"region": "my-top-region",
-		    	   		    	    	"width": 400,
-		    	   		    	    	"height": 100
-		    	   		    	    }
-		    	   		    	]
-	    	   		    	},
-	    	   		    	"acceptedAdTypes": [ "image" ],
-	    	   		    	"enableScaling": true,
-	    	   		    	"enforceRecommendedSizing": true,
-	    	   		    	"templates": {
-	    	   		    	   "text": "my text template"
-	    	   		    	}
-    		   	   		},
-   						"schedule": [
-   							{
-   								"startTime": "00:00:05",
-   								"tag": "my-ad-tag"
-   							}
-   						]
-   					}   	   		
-    	   	   }
-    		), Debuggable.DEBUG_ALWAYS);
-    		Debuggable.getInstance().doTrace(expandConfig(
-    		   {
-    		   		"ads": {
-   						"schedule": [
-   							{
-   								"startTime": "00:00:05",
-   								"tag": "my-ad-tag",
-		    	   		    	"region": "auto:center",
-		    	   		    	"acceptedAdTypes": [ "image" ],
-		    	   		    	"enableScaling": true,
-		    	   		    	"enforceRecommendedSizing": true,
-		    	   		    	"width": 450,
-		    	   		    	"height": 50,
-		    	   		    	"templates": {
-		    	   		    	   "text": "my text template"
-		    	   		    	}
-   							}
-   						]
-   					}   	   		
-    	   	   }
-    		), Debuggable.DEBUG_ALWAYS);
-    		Debuggable.getInstance().doTrace(expandConfig(
-    		   {
-    		   		"ads": {
-   						"schedule": [
-   							{
-   								"startTime": "00:00:05",
-   								"tag": "my-ad-tag",
-		    	   		    	"acceptedAdTypes": [ "image" ],
-		    	   		    	"enableScaling": true,
-		    	   		    	"enforceRecommendedSizing": true,
-		    	   		    	"regions": {
-		    	   		    	    "flash": [
-			    	   		    	    {
-			   			 	   		    	"region": "my-center-region",
-			    	   		    	    	"width": 450,
-			    	   		    	    	"height": 50
-			    	   		    	    },
-			    	   		    	    {
-			   			 	   		    	"region": "my-top-region",
-			    	   		    	    	"width": 400,
-			    	   		    	    	"height": 100
-			    	   		    	    }
-			    	   		    	]
-		    	   		    	},
-		    	   		    	"templates": {
-		    	   		    	   "text": "my text template"
-		    	   		    	}
-   							}
-   						]
-   					}   	   		
-    	   	   }
-    		), Debuggable.DEBUG_ALWAYS);
-    		Debuggable.getInstance().doTrace(expandConfig(
-    		   {
-    		   		"ads": {
-   						"schedule": [
-   							{
-   								"startTime": "00:00:05",
-   								"tag": "my-ad-tag",
-		    	   		    	"acceptedAdTypes": [ "image" ],
-		    	   		    	"enableScaling": true,
-		    	   		    	"enforceRecommendedSizing": true,
-		    	   		    	"regions": {
-		    	   		    	    "flash": [
-			    	   		    	    {
-			   			 	   		    	"region": {
-			   			 	   		    	    "text": "my-center-region",
-			   			 	   		    	    "html": "my-center-region"
-			   			 	   		    	},
-			    	   		    	    	"width": 450,
-			    	   		    	    	"height": 50
-			    	   		    	    },
-			    	   		    	    {
-			   			 	   		    	"region": {
-			   			 	   		    	    "image": "my-center-region",
-			   			 	   		    	    "iframe": "my-center-region"
-			   			 	   		    	},
-			    	   		    	    	"width": 400,
-			    	   		    	    	"height": 100
-			    	   		    	    }
-			    	   		    	]
-		    	   		    	},
-		    	   		    	"templates": {
-		    	   		    	   "text": "my text template"
-		    	   		    	}
-   							}
-   						]
-   					}   	   		
-    	   	   }
-    		), Debuggable.DEBUG_ALWAYS);
-	    	Debuggable.getInstance().doLog(">>> TESTS COMPLETE", Debuggable.DEBUG_ALWAYS);
-    	}
-*/    	
     }
 }
Index: /trunk/ova.as3/src/org/openvideoads/vast/config/Config.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/config/Config.as	(revision 619)
+++ /trunk/ova.as3/src/org/openvideoads/vast/config/Config.as	(revision 753)
@@ -19,5 +19,5 @@
 package org.openvideoads.vast.config {
 	import org.openvideoads.base.Debuggable;
-	import org.openvideoads.server.config.AdServerConfig;
+	import org.openvideoads.vast.server.config.AdServerConfig;
 	import org.openvideoads.vast.config.groupings.AbstractStreamsConfig;
 	import org.openvideoads.vast.config.groupings.AdsConfigGroup;
Index: /trunk/ova.as3/src/org/openvideoads/vast/config/groupings/AdsConfigGroup.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/config/groupings/AdsConfigGroup.as	(revision 628)
+++ /trunk/ova.as3/src/org/openvideoads/vast/config/groupings/AdsConfigGroup.as	(revision 753)
@@ -19,6 +19,6 @@
 package org.openvideoads.vast.config.groupings {
 	import org.openvideoads.base.Debuggable;
-	import org.openvideoads.server.config.AdServerConfig;
-	import org.openvideoads.server.config.AdServerConfigFactory;
+	import org.openvideoads.vast.server.config.AdServerConfig;
+	import org.openvideoads.vast.server.config.AdServerConfigFactory;
 	import org.openvideoads.util.ArrayUtils;
 	import org.openvideoads.util.StringUtils;
Index: /trunk/ova.as3/src/org/openvideoads/vast/analytics/GoogleAnalyticsProcessor.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/analytics/GoogleAnalyticsProcessor.as	(revision 730)
+++ /trunk/ova.as3/src/org/openvideoads/vast/analytics/GoogleAnalyticsProcessor.as	(revision 753)
@@ -24,5 +24,5 @@
 	
 	import org.openvideoads.base.Debuggable;
-	import org.openvideoads.server.request.AdServerRequest;
+	import org.openvideoads.vast.server.request.AdServerRequest;
 	import org.openvideoads.util.NetworkResource;
 	import org.openvideoads.util.StringUtils;
Index: /trunk/ova.as3/src/org/openvideoads/vast/analytics/AnalyticsProcessor.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/analytics/AnalyticsProcessor.as	(revision 615)
+++ /trunk/ova.as3/src/org/openvideoads/vast/analytics/AnalyticsProcessor.as	(revision 753)
@@ -19,5 +19,5 @@
 package org.openvideoads.vast.analytics {
 	import org.openvideoads.base.Debuggable;
-	import org.openvideoads.server.request.AdServerRequest;
+	import org.openvideoads.vast.server.request.AdServerRequest;
 	import org.openvideoads.vast.config.groupings.analytics.AnalyticsConfigGroup;
 	import org.openvideoads.vast.schedule.ads.AdSlot;
Index: /trunk/ova.as3/src/org/openvideoads/vast/analytics/AnalyticsInterface.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/analytics/AnalyticsInterface.as	(revision 615)
+++ /trunk/ova.as3/src/org/openvideoads/vast/analytics/AnalyticsInterface.as	(revision 753)
@@ -18,5 +18,5 @@
  */
 package org.openvideoads.vast.analytics {
-	import org.openvideoads.server.request.AdServerRequest;
+	import org.openvideoads.vast.server.request.AdServerRequest;
 	import org.openvideoads.vast.schedule.ads.AdSlot;
 	
Index: /trunk/ova.as3/src/org/openvideoads/vast/schedule/ads/AdSchedule.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/schedule/ads/AdSchedule.as	(revision 619)
+++ /trunk/ova.as3/src/org/openvideoads/vast/schedule/ads/AdSchedule.as	(revision 753)
@@ -21,7 +21,7 @@
 	
 	import org.openvideoads.base.Debuggable;
-	import org.openvideoads.server.request.AdServerRequestProcessor;
-	import org.openvideoads.server.response.AdServerTemplate;
-	import org.openvideoads.server.response.TemplateLoadListener;
+	import org.openvideoads.vast.server.request.AdServerRequestProcessor;
+	import org.openvideoads.vast.server.response.AdServerTemplate;
+	import org.openvideoads.vast.server.response.TemplateLoadListener;
 	import org.openvideoads.util.StringUtils;
 	import org.openvideoads.vast.VASTController;
Index: /trunk/ova.as3/src/org/openvideoads/vast/schedule/ads/AdSlot.as
===================================================================
--- /trunk/ova.as3/src/org/openvideoads/vast/schedule/ads/AdSlot.as	(revision 672)
+++ /trunk/ova.as3/src/org/openvideoads/vast/schedule/ads/AdSlot.as	(revision 753)
@@ -22,8 +22,8 @@
 	import org.openvideoads.base.Debuggable;
 	import org.openvideoads.regions.view.FlashMedia;
-	import org.openvideoads.server.config.AdServerConfig;
-	import org.openvideoads.server.request.AdServerRequestProcessor;
-	import org.openvideoads.server.response.AdServerTemplate;
-	import org.openvideoads.server.response.TemplateLoadListener;
+	import org.openvideoads.vast.server.config.AdServerConfig;
+	import org.openvideoads.vast.server.request.AdServerRequestProcessor;
+	import org.openvideoads.vast.server.response.AdServerTemplate;
+	import org.openvideoads.vast.server.response.TemplateLoadListener;
 	import org.openvideoads.util.NetworkResource;
 	import org.openvideoads.util.StringUtils;
Index: /trunk/ova.as3/README.txt
===================================================================
--- /trunk/ova.as3/README.txt	(revision 730)
+++ /trunk/ova.as3/README.txt	(revision 753)
@@ -444,2 +444,3 @@
 * #372 - "useDefaultPaths" option added to allow default paths to be turned off and effectively
   selectively track specific events by only specifying custom paths for those to be tracked
+* Initial framework restructure to start removing redundant server classes
