Index: ModelGlue/gesture/eventrequest/test/TestEventContext.cfc
===================================================================
--- ModelGlue/gesture/eventrequest/test/TestEventContext.cfc	(revision 269)
+++ ModelGlue/gesture/eventrequest/test/TestEventContext.cfc	(working copy)
@@ -567,6 +567,8 @@
 	<cfset ec = mg.handleRequest() />
 	
 	<cfset assertEquals( "home", ec.getInitialEventHandlerName(), "The requested event should be ""home"" " ) />
+	
+	<cfset structClear(url) />
 </cffunction>
 
 <cffunction name="testGetInitialEventHandlerNameForExplicitEvent" returntype="void" access="public">
@@ -584,6 +586,8 @@
 	<cfset ec = mg.handleRequest() />
 	
 	<cfset assertEquals( "test", ec.getInitialEventHandlerName(), "The requested event should be ""test"" " ) />
+	
+	<cfset structClear(url) />
 </cffunction>
 
 <!--- EVENT HANDLER EXTENSIBILITY TEST --->
@@ -601,6 +605,169 @@
 	
 	<cfset assertTrue( ec.exists("onRequestStart"), "The internal onRequestStart function was not invoked" ) />
 	<cfset assertTrue( ec.exists("customOnRequestStart"), "The custom onRequestStart function was not invoked" ) />
+	
+	<cfset structClear(url) />
+</cffunction>
+
+<!--- FORMAT EXECUTION ORDER TESTS --->
+<cffunction name="testExecutionOrderOfMessageBroadcastWithFormat" returntype="void" access="public">
+	<cfset var mg = createModelGlue(this.coldspringPath) />
+	<cfset var loader = "" />
+	<cfset var ec = "" />
+	
+	<cfset loader = mg.getInternalBean("modelglue.ModuleLoaderFactory").create("XML") />
+	<cfset loader.load(mg, "/ModelGlue/gesture/eventrequest/test/format/formatOrder.xml") />
+	
+	<cfset structClear(url) />
+	
+	<cfset url.event = "broadcastEvent" />
+	<cfset url.requestFormat = "format" />
+	
+	<cfset ec = mg.handleRequest() />
+	
+	<cfset assertEquals( "format,none", ec.getValue("messageFormats"), "The message with the format of ""format"" should be broadcast first" ) />
+	
+	<cfset structClear(url) />
+</cffunction>
+
+<cffunction name="testExecutionOrderOfMessageBroadcastWithFormatFromEventType" returntype="void" access="public">
+	<cfset var mg = createModelGlue(this.coldspringPath) />
+	<cfset var loader = "" />
+	<cfset var ec = "" />
+	
+	<cfset loader = mg.getInternalBean("modelglue.ModuleLoaderFactory").create("XML") />
+	<cfset loader.load(mg, "/ModelGlue/gesture/eventrequest/test/format/formatOrder.xml") />
+	
+	<cfset structClear(url) />
+	
+	<cfset url.event = "typedBroadcastEvent" />
+	<cfset url.requestFormat = "format" />
+	
+	<cfset ec = mg.handleRequest() />
+	
+	<cfset assertEquals( "format,none", ec.getValue("messageFormats"), "The message with the format of ""format"" should be broadcast first" ) />
+	
+	<cfset structClear(url) />
+</cffunction>
+
+<cffunction name="testExecutionOrderOfImplicitResultQueuedWithFormat" returntype="void" access="public">
+	<cfset var mg = createModelGlue(this.coldspringPath) />
+	<cfset var loader = "" />
+	<cfset var ec = "" />
+	
+	<cfset loader = mg.getInternalBean("modelglue.ModuleLoaderFactory").create("XML") />
+	<cfset loader.load(mg, "/ModelGlue/gesture/eventrequest/test/format/formatOrder.xml") />
+	
+	<cfset structClear(url) />
+	
+	<cfset url.event = "resultEvent" />
+	<cfset url.requestFormat = "format" />
+	
+	<cfset ec = mg.handleRequest() />
+	
+	<cfset assertEquals( "format,none", ec.getValue("messageFormats"), "The message with the format of ""format"" should be broadcast first" ) />
+	
+	<cfset structClear(url) />
+</cffunction>
+
+<cffunction name="testExecutionOrderOfImplicitResultQueuedWithFormatFromEventType" returntype="void" access="public">
+	<cfset var mg = createModelGlue(this.coldspringPath) />
+	<cfset var loader = "" />
+	<cfset var ec = "" />
+	
+	<cfset loader = mg.getInternalBean("modelglue.ModuleLoaderFactory").create("XML") />
+	<cfset loader.load(mg, "/ModelGlue/gesture/eventrequest/test/format/formatOrder.xml") />
+	
+	<cfset structClear(url) />
+	
+	<cfset url.event = "typedResultEvent" />
+	<cfset url.requestFormat = "format" />
+	
+	<cfset ec = mg.handleRequest() />
+	
+	<cfset assertEquals( "format,none", ec.getValue("messageFormats"), "The message with the format of ""format"" should be broadcast first" ) />
+	
+	<cfset structClear(url) />
+</cffunction>
+
+<cffunction name="testExecutionOrderOfNamedResultQueuedWithFormat" returntype="void" access="public">
+	<cfset var mg = createModelGlue(this.coldspringPath) />
+	<cfset var loader = "" />
+	<cfset var ec = "" />
+	
+	<cfset loader = mg.getInternalBean("modelglue.ModuleLoaderFactory").create("XML") />
+	<cfset loader.load(mg, "/ModelGlue/gesture/eventrequest/test/format/formatOrder.xml") />
+	
+	<cfset structClear(url) />
+	
+	<cfset url.event = "namedResultEvent" />
+	<cfset url.requestFormat = "format" />
+	
+	<cfset ec = mg.handleRequest() />
+	
+	<cfset assertEquals( "format,none", ec.getValue("messageFormats"), "The message with the format of ""format"" should be broadcast first" ) />
+	
+	<cfset structClear(url) />
+</cffunction>
+
+<cffunction name="testExecutionOrderOfNamedResultQueuedWithFormatFromEventType" returntype="void" access="public">
+	<cfset var mg = createModelGlue(this.coldspringPath) />
+	<cfset var loader = "" />
+	<cfset var ec = "" />
+	
+	<cfset loader = mg.getInternalBean("modelglue.ModuleLoaderFactory").create("XML") />
+	<cfset loader.load(mg, "/ModelGlue/gesture/eventrequest/test/format/formatOrder.xml") />
+	
+	<cfset structClear(url) />
+	
+	<cfset url.event = "typedNamedResultEvent" />
+	<cfset url.requestFormat = "format" />
+	
+	<cfset ec = mg.handleRequest() />
+	
+	<cfset assertEquals( "format,none", ec.getValue("messageFormats"), "The message with the format of ""format"" should be broadcast first" ) />
+	
+	<cfset structClear(url) />
+</cffunction>
+
+<cffunction name="testExecutionOrderOfViewQueuedWithFormat" returntype="void" access="public">
+	<cfset var mg = createModelGlue(this.coldspringPath) />
+	<cfset var loader = "" />
+	<cfset var ec = "" />
+	
+	<cfset loader = mg.getInternalBean("modelglue.ModuleLoaderFactory").create("XML") />
+	<cfset loader.load(mg, "/ModelGlue/gesture/eventrequest/test/format/formatOrder.xml") />
+	
+	<cfset structClear(url) />
+	
+	<cfset url.event = "viewEvent" />
+	<cfset url.requestFormat = "format" />
+	
+	<cfset ec = mg.handleRequest() />
+	
+	<cfset assertEquals( "none", ec.getViewCollection().getFinalView(), "The view with the content of ""none"" should be the final view" ) />
+	
+	<cfset structClear(url) />
+</cffunction>
+
+<cffunction name="testExecutionOrderOfViewQueuedWithFormatFromEventType" returntype="void" access="public">
+	<cfset var mg = createModelGlue(this.coldspringPath) />
+	<cfset var loader = "" />
+	<cfset var ec = "" />
+	
+	<cfset loader = mg.getInternalBean("modelglue.ModuleLoaderFactory").create("XML") />
+	<cfset loader.load(mg, "/ModelGlue/gesture/eventrequest/test/format/formatOrder.xml") />
+	
+	<cfset structClear(url) />
+	
+	<cfset url.event = "typedViewEvent" />
+	<cfset url.requestFormat = "format" />
+	
+	<cfset ec = mg.handleRequest() />
+	
+	<cfset assertEquals( "none", ec.getViewCollection().getFinalView(), "The view with the content of ""none"" should be the final view" ) />
+	
+	<cfset structClear(url) />
 </cffunction>
 
 </cfcomponent>
\ No newline at end of file
Index: ModelGlue/gesture/eventrequest/test/format/FormatController.cfc
===================================================================
--- ModelGlue/gesture/eventrequest/test/format/FormatController.cfc	(revision 0)
+++ ModelGlue/gesture/eventrequest/test/format/FormatController.cfc	(revision 0)
@@ -0,0 +1,35 @@
+<cfcomponent output="false" extends="ModelGlue.gesture.controller.Controller">
+
+<cffunction name="addNamedResult" access="public" output="false" returntype="void">
+	<cfargument name="event" type="any" required="true" />
+	
+	<cfset arguments.event.addResult("target") />
+</cffunction>
+
+<cffunction name="addFormatNamedResult" access="public" output="false" returntype="void">
+	<cfargument name="event" type="any" required="true" />
+	
+	<cfset arguments.event.addResult("formatTarget") />
+</cffunction>
+
+<cffunction name="message" access="public" output="false" returntype="void">
+	<cfargument name="event" type="any" required="true" />
+	
+	<cfset var messageFormats = arguments.event.getValue("messageFormats") />
+	
+	<cfset messageFormats = listAppend(messageFormats, "none") />
+	
+	<cfset arguments.event.setValue("messageFormats", messageFormats) />
+</cffunction>
+
+<cffunction name="formatMessage" access="public" output="false" returntype="void">
+	<cfargument name="event" type="any" required="true" />
+	
+	<cfset var messageFormats = arguments.event.getValue("messageFormats") />
+	
+	<cfset messageFormats = listAppend(messageFormats, "format") />
+	
+	<cfset arguments.event.setValue("messageFormats", messageFormats) />
+</cffunction>
+
+</cfcomponent>
\ No newline at end of file
Index: ModelGlue/gesture/eventrequest/test/format/formatOrder.xml
===================================================================
--- ModelGlue/gesture/eventrequest/test/format/formatOrder.xml	(revision 0)
+++ ModelGlue/gesture/eventrequest/test/format/formatOrder.xml	(revision 0)
@@ -0,0 +1,135 @@
+<modelglue>
+
+<config>
+
+	<setting name="viewMappings" value="/ModelGlue/gesture/eventrequest/test/format" />
+
+</config>
+
+<controllers>
+
+	<controller id="FormatController" type="ModelGlue.gesture.eventrequest.test.format.FormatController">
+		<message-listener message="addNamedResult" />
+		<message-listener message="addFormatNamedResult" />
+		<message-listener message="message" />
+		<message-listener message="formatMessage" />
+	</controller>
+
+</controllers>
+
+<event-types>
+
+	<event-type name="broadcastType">
+		<before>
+			<broadcasts format="format">
+				<message name="formatMessage" />
+			</broadcasts>
+		</before>
+	</event-type>
+
+	<event-type name="resultType">
+		<before>
+			<results format="format">
+				<result do="formatTargetEvent" />
+			</results>
+		</before>
+	</event-type>
+
+	<event-type name="namedResultType">
+		<before>
+			<broadcasts format="format">
+				<message name="addFormatNamedResult" />
+			</broadcasts>
+		</before>
+	</event-type>
+
+	<event-type name="viewType">
+		<before>
+			<views format="format">
+				<include name="view" template="formatView.cfm" />
+			</views>
+		</before>
+	</event-type>
+
+</event-types>
+
+<event-handlers>
+
+	<event-handler name="broadcastEvent">
+		<broadcasts format="format">
+			<message name="formatMessage" />
+		</broadcasts>
+		<broadcasts>
+			<message name="message" />
+		</broadcasts>
+	</event-handler>
+	<event-handler name="typedBroadcastEvent" type="broadcastType">
+		<broadcasts>
+			<message name="message" />
+		</broadcasts>
+	</event-handler>
+
+	<event-handler name="resultEvent">
+		<results format="format">
+			<result do="formatTargetEvent" />
+		</results>
+		<results>
+			<result do="targetEvent" />
+		</results>
+	</event-handler>
+	<event-handler name="typedResultEvent" type="resultType">
+		<results>
+			<result do="targetEvent" />
+		</results>
+	</event-handler>
+
+	<event-handler name="namedResultEvent">
+		<broadcasts format="format">
+			<message name="addFormatNamedResult" />
+		</broadcasts>
+		<broadcasts>
+			<message name="addNamedResult" />
+		</broadcasts>
+		<results>
+			<result name="target" do="targetEvent" />
+			<result name="formatTarget" do="formatTargetEvent" />
+		</results>
+	</event-handler>
+	<event-handler name="typedNamedResultEvent" type="namedResultType">
+		<broadcasts>
+			<message name="addNamedResult" />
+		</broadcasts>
+		<results>
+			<result name="target" do="targetEvent" />
+			<result name="formatTarget" do="formatTargetEvent" />
+		</results>
+	</event-handler>
+
+	<event-handler name="targetEvent">
+		<broadcasts>
+			<message name="message" />
+		</broadcasts>
+	</event-handler>
+	<event-handler name="formatTargetEvent">
+		<broadcasts>
+			<message name="formatMessage" />
+		</broadcasts>
+	</event-handler>
+
+	<event-handler name="viewEvent">
+		<views format="format">
+			<include name="view" template="formatView.cfm" />
+		</views>
+		<views>
+			<include name="view" template="view.cfm" />
+		</views>
+	</event-handler>
+	<event-handler name="typedViewEvent" type="viewType">
+		<views>
+			<include name="view" template="view.cfm" />
+		</views>
+	</event-handler>
+
+</event-handlers>
+
+</modelglue>
\ No newline at end of file
Index: ModelGlue/gesture/eventrequest/test/format/formatView.cfm
===================================================================
--- ModelGlue/gesture/eventrequest/test/format/formatView.cfm	(revision 0)
+++ ModelGlue/gesture/eventrequest/test/format/formatView.cfm	(revision 0)
@@ -0,0 +1 @@
+format
\ No newline at end of file
Index: ModelGlue/gesture/eventrequest/test/format/view.cfm
===================================================================
--- ModelGlue/gesture/eventrequest/test/format/view.cfm	(revision 0)
+++ ModelGlue/gesture/eventrequest/test/format/view.cfm	(revision 0)
@@ -0,0 +1 @@
+none
\ No newline at end of file
Index: ModelGlue/gesture/modules/internal/utility/test/TestUtilityModule.cfc
===================================================================
--- ModelGlue/gesture/modules/internal/utility/test/TestUtilityModule.cfc	(revision 269)
+++ ModelGlue/gesture/modules/internal/utility/test/TestUtilityModule.cfc	(working copy)
@@ -35,6 +35,7 @@
 	<cfset url.event = "eventHandlerWithEventTypeOfDisabledDebug" />
 	<cfset ec = mg.handleRequest() />
 	<cfset assertTrue( request.modelGlueSuppressDebugging IS true, "Disable Debug setting did not work when event type had modelglue.disableModelGlueDebugging broadcast ") />
+	<cfset structClear(url) />	
 	
 	<!--- If we don't throw error, we made it. --->
 </cffunction>
Index: ModelGlue/gesture/test/TestModelGlue.cfc
===================================================================
--- ModelGlue/gesture/test/TestModelGlue.cfc	(revision 269)
+++ ModelGlue/gesture/test/TestModelGlue.cfc	(working copy)
@@ -80,7 +80,9 @@
 	<cfset assertTrue(context.getValue("someFormKey") eq "someFormValue", "form value not populated") />
 	<cfset assertTrue(context.getValue("someUrlKey") eq "someUrlValue", "form value not populated") />
 	<cfset assertTrue(context.getValue("conflictKey") eq "formConflictValue", "conflict value not recognized from form") />
-		
+	
+	<cfset structClear(url) />
+	<cfset structClear(form) />
 </cffunction>
 
 <cffunction name="testPhase_StatefulRedirectPopulation" returntype="void" access="public">
@@ -99,6 +101,9 @@
 	<cfset assertTrue(context.getValue("preservedValueName") eq "preservedValue", "preserved value not populated") />
 	<cfset assertFalse(structKeyExists(session, "_modelgluePreservedState"), "preserved state not cleared") />
 	<cfset assertTrue(context.getValue("conflictKey") eq "formConflictValue", "conflict value not recognized from form") />
+
+	<cfset structClear(form) />
+	<cfset structClear(url) />
 </cffunction>
 
 </cfcomponent>
\ No newline at end of file
