anchor.diff:  			{
   				//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"))
   			{
  
positive.code: 					}					
  				}
  
  				if(structKeyExists(variables.specContext.context,"after") AND isClosure(variables.specContext.context.after))
  				{
  					variables.specContext.context.after();
  				}
  
  				if(isDefined("result"))
  
negative.code: 					finalSubObject["_onMissingMethod"] = finalSubObject["onMissingMethod"];
  					mockFunctionName = "onMissingMethod";
  			}
  			
  			//Now we can override the real method as a proxy, and call our former copy. This allows us to check the return value that it matches the spec
  			finalSubObject.onMissingMethod = function(missingMethodName,missingMethodArguments){
  
  				
  				var activeContext = variables.specContext[missingMethodName];
  				if(structKeyExists(local.activeContext.context,"before") AND isClosure(local.activeContext.context.before))
  				{
  					local.activeContext.context.before();
  				}
  
  				
  				
  				if(structKeyExists(this,"_#local.activeContext.functionName#"))
  				{
  					request.given = arguments.missingMethodArguments;					
  						result = evaluate("this._#local.activeContext.functionName#(argumentCollection=arguments.missingMethodArguments)");		
  					
  				}
  				else if(structKeyExists(this,"onMissingMethod")){
  