 	'
 	categories="model-class,miscellaneous" chapters="object-relational-mapping" functions="columnNames,dataSource,property,table,tableName">
 	<cfscript>
-		var loc = {};
-		loc.returnValue = variables.wheels.class.propertyList;
+		var returnValue = variables.wheels.class.propertyList;
 		if (ListLen(variables.wheels.class.calculatedPropertyList))
-			loc.returnValue = ListAppend(loc.returnValue, variables.wheels.class.calculatedPropertyList);
+			returnValue = ListAppend(returnValue, variables.wheels.class.calculatedPropertyList);
 		</cfscript>
-	<cfreturn loc.returnValue>
+	<cfreturn returnValue>
 </cffunction>
 
 <!--- PUBLIC MODEL OBJECT METHODS --->

			{
				loc.item = ListGetAt(loc.changedProperties, loc.i);
				loc.returnValue[loc.item] = {};
				loc.returnValue[loc.item].changedFrom = changedFrom(loc.item);
				if (StructKeyExists(this, loc.item))
					loc.returnValue[loc.item].changedTo = this[loc.item];
				else
					loc.returnValue[loc.item].changedTo = "";
			}
		}
	</cfscript>

		<!--- update the properties of the object with the params struct containing the values of a form post --->
		<cfset user = model("user").findByKey(1)>
		<cfset user.setProperties(params)>
	'
	categories="model-object,miscellaneous" chapters="" functions="properties">
	<cfargument name="properties" type="struct" required="false" default="#StructNew()#" hint="See documentation for @new.">
	<cfscript>
		var $properties = duplicate(arguments.properties);
		StructDelete(arguments, "properties", false);
		// add named arguments to properties struct (named arguments will take precedence)
		StructAppend($properties, arguments, true);
		// set passed in values to the this scope of this object
		StructAppend(this, $properties, true);
	</cfscript>
</cffunction>

