 			request.wheels = {};
 			request.wheels.params = {};
 			request.wheels.cache = {};
+			request.wheels.stacks = {};
 			request.wheels.tickCountId = GetTickCount();
 
 			// create a structure to track the transaction status for all adapters

		required string fileName,
		required string method
	) {
		var rv = ""; 
		local.returnVariable = "rv";
		local.method = arguments.method;
		local.component = ListChangeDelims(arguments.path, ".", "/") & "." & ListChangeDelims(arguments.fileName, ".", "/");

				local.rv = $wddx(input=local.values);
			}
		}
		return Hash(local.rv);
	}

	public any function $timeSpanForCache(
		required any cache,
		numeric defaultCacheTime=application.wheels.defaultCacheTime,
		string cacheDatePart=application.wheels.cacheDatePart
	) {
		local.cache = arguments.defaultCacheTime;
		if (IsNumeric(arguments.cache))
		{
