anchor.diff:  			//Set the spec into the object as we need to pass in these values so that we can use them when proxying to the real function call
   			subObject.setSpecContext = function(spec,mockFunctionName,mockContextName){
   				//writeDump(var=arguments,label="setSpecContext #request.dumpc#");
  -				variables.specContext = {
  +				variables.specContext[arguments.mockFunctionName] = {
   					functionName:arguments.mockFunctionName,
   					contextName:arguments.mockContextName,
   					context:spec.tests[mockfunctionName]["#mockContextName#"]
  
positive.code: 					result = evaluate("this._onMissingMethod(argumentCollection=arguments)");
  				}
  				
  				if(structKeyExists(variables.specContext.context,"then"))
  				{	
  					if(structKeyExists(variables.specContext.context.then,"returns"))
  					{							
  						
  						returnType = variables.specContext.context.then.returns;
  						
  						if(returnType IS "void")
  						{
  							if(isDefined('result'))
  							{
  								throw(message="The collaborator return value from #variables.spec.class# did not match its specification. It should have returned #variables.specContext.context.then.returns# but returned a value. The tested specification was: #variables.specContext.functionName# #variables.specContext.contextName#");
  							}
  							else
  							{
  
negative.code: 			{
  				//In order to create a proxy to the real method call, we need to first copy the real method to a proxy method
  				finalSubObject["_#mockFunctionName#"] = finalSubObject[mockFunctionName];
  				//Then we need to delete the real method because we need to use onMissingMethod to tell what function is being called at runtime
  				structDelete(finalSubObject,mockFunctionName);
  			}
  			else if(structKeyExists(finalSubObject,"onMissingMethod"))
  			{
  