ColdFusion 8's OnMissingTemplate() - So Close To Being Good

<cfcomponent
	output="false"
	hint="I define the application and event handlers.">
 
	<!--- Define application. --->
	<cfset this.name = hash( getCurrentTemplatePath() ) />
	<cfset this.applicationTimeout = createTimeSpan( 0, 0, 20, 0 ) />
 
 
	<cffunction
		name="onRequestStart"
		access="public"
		returntype="boolean"
		output="false"
		hint="I execute when a request needs to be initialized.">
 
		<!--- Define arguments. --->
		<cfargument
			name="template"
			type="string"
			required="true"
			hint="I am the template that the user requested."
			/>
 
		<!--- Define the page settings. --->
		<cfsetting
			requesttimeout="10"
			showdebugoutput="false"
			/>
 
		<!--- Initialize the FORM scope. --->
		<cfset form[ "onRequestStart" ] = true />
 
		<!--- Return true to let the page load. --->
		<cfreturn true />
	</cffunction>
 
 
	<cffunction
		name="onRequest"
		access="public"
		returntype="void"
		output="true"
		hint="I execute the page template.">
 
		<!--- Define arguments. --->
		<cfargument
			name="template"
			type="string"
			required="true"
			hint="I am the template that the user requested."
			/>
 
		<!---
			Include the index page no matter what. This way, we
			can have a front-controller based application no
			matter what URL was requested.
		--->
		<cfinclude template="./index.cfm" />
 
		<!--- Return out. --->
		<cfreturn />
	</cffunction>
 
 
	<cffunction
		name="onMissingTemplate"
		access="public"
		returntype="boolean"
		output="true"
		hint="I execute when a non-existing CFM page was requested.">
 
		<!--- Define arguments. --->
		<cfargument
			name="template"
			type="string"
			required="true"
			hint="I am the template that the user requested."
			/>
 
		<!---
			Execute the request initialization and processing.
			These will not be executed implicity for non-
			existing CFM templates.
		--->
		<cfset this.onRequestStart( arguments.template ) />
		<cfset this.onRequest( arguments.template ) />
 
		<!---
			If we've made it this far, everything executed
			normally. Return true to signal to ColdFusion
			that the event processed successfully (and that
			the request is complete).
		--->
		<cfreturn true />
	</cffunction>
 
 
	<cffunction
		name="onError"
		access="public"
		returntype="void"
		output="true"
		hint="I execute when an uncaught error has occurred.">
 
		<!--- Define arguments. --->
		<cfargument
			name="exception"
			type="any"
			required="true"
			hint="I am the uncaught exception object."
			/>
 
		<cfargument
			name="event"
			type="string"
			required="false"
			default=""
			hint="I am the event in which the error occurred."
			/>
 
		<!--- Output the exception. --->
		<h1>
			Error:
		</h1>
		<cfdump var="#arguments.exception#" />
		<cfabort />
 
		<!--- Return out. --->
		<cfreturn />
	</cffunction>
 
</cfcomponent>

For Cut-and-Paste