 	<cfargument name="method" type="string" required="true">
 	<cfargument name="args" type="struct" required="false" default="#StructNew()#">
 	<cfargument name="timeout" type="numeric" required="false" default="30">
-	<cfset var loc = StructNew()>
+	<cfset var loc = {}>
 	<cflock name="#arguments.name#" type="readonly" timeout="#arguments.timeout#">
 		<cfset loc.returnValue = $invoke(component=arguments.object, method=arguments.method, argumentCollection=arguments.args)>
 	</cflock>

	<cfargument name="execute" type="string" required="true">
	<cfargument name="executeArgs" type="struct" required="false" default="#StructNew()#">
	<cfargument name="timeout" type="numeric" required="false" default="30">
	<cfset var loc = StructNew()>
	<cfset loc.lockArgs = Duplicate(arguments)>
	<cfset StructDelete(loc.lockArgs, "execute")>
	<cfset StructDelete(loc.lockArgs, "executeArgs")>

</cffunction>

<cffunction name="$invoke" returntype="any" access="public" output="false">
	<cfset var loc = {}>
	<cfset arguments.returnVariable = "loc.returnValue">
	<cfinvoke attributeCollection="#arguments#">
	<cfif StructKeyExists(loc, "returnValue")>
