 			StructDelete(arguments, "property");
 			StructDelete(arguments, "value");
 		}
-		loc.rv = update(argumentCollection=arguments);
-	</cfscript>
-	<cfreturn loc.rv>
-</cffunction>
+		local.rv = update(argumentCollection=arguments);
+		return local.rv;
+	}
 
-<!--- PRIVATE METHODS --->
+	/*
+	* PRIVATE METHODS
+	*/
 
-<cffunction name="$updateAll" returntype="numeric" access="public" output="false">
-	<cfscript>
-		var loc = {};
-		loc.rv = variables.wheels.class.adapter.$query(sql=arguments.sql, parameterize=arguments.parameterize).result.recordCount;
-	</cfscript>
-	<cfreturn loc.rv>
-</cffunction>
+	public numeric function $updateAll() {
+		local.rv = variables.wheels.class.adapter.$query(sql=arguments.sql, parameterize=arguments.parameterize).result.recordCount;
+		return local.rv;
+	}
 
-<cffunction name="$update" returntype="boolean" access="public" output="false">
-	<cfargument name="parameterize" type="any" required="true">
-	<cfargument name="reload" type="boolean" required="true">
-	<cfscript>
-		var loc = {};
+	public boolean function $update(required any parameterize, required boolean reload) {
 		if (hasChanged())
 		{
 			// perform update since changes have been made

<!--- PUBLIC MODEL CLASS METHODS --->

<cffunction name="updateAll" returntype="numeric" access="public" output="false">
	<cfargument name="where" type="string" required="false" default="">
	<cfargument name="include" type="string" required="false" default="">
	<cfargument name="properties" type="struct" required="false" default="#StructNew()#">
	<cfargument name="reload" type="boolean" required="false">
	<cfargument name="parameterize" type="any" required="false">
	<cfargument name="instantiate" type="boolean" required="false">
	<cfargument name="validate" type="boolean" required="false" default="true">
	<cfargument name="transaction" type="string" required="false" default="#application.wheels.transactionMode#">
	<cfargument name="callbacks" type="boolean" required="false" default="true">
	<cfargument name="includeSoftDeletes" type="boolean" required="false" default="false">
	<cfscript>
		var loc = {};
		$args(name="updateAll", args=arguments);
		arguments.include = $listClean(arguments.include);
		arguments.where = $cleanInList(arguments.where);

		{
			arguments.sql = [];
			ArrayAppend(arguments.sql, "UPDATE #tableName()# SET");
			local.pos = 0;
			for (local.key in arguments.properties)
			{
				local.pos++;
				ArrayAppend(arguments.sql, "#variables.wheels.class.properties[local.key].column# = ");
				local.param = {value=arguments.properties[local.key], type=variables.wheels.class.properties[local.key].type, dataType=variables.wheels.class.properties[local.key].dataType, scale=variables.wheels.class.properties[local.key].scale, null=!Len(arguments.properties[local.key])};
				ArrayAppend(arguments.sql, local.param);
				if (StructCount(arguments.properties) > local.pos)
				{
					ArrayAppend(arguments.sql, ",");
				}
			}
			arguments.sql = $addWhereClause(sql=arguments.sql, where=arguments.where, include=arguments.include, includeSoftDeletes=arguments.includeSoftDeletes);
			arguments.sql = $addWhereClauseParameters(sql=arguments.sql, where=arguments.where);
			local.rv = invokeWithTransaction(method="$updateAll", argumentCollection=arguments);
		}
		return local.rv;
	}
	public boolean function updateByKey(
		required any key,
		struct properties="#StructNew()#",
		boolean reload,
		boolean validate="true",
		string transaction="#application.wheels.transactionMode#",
		boolean callbacks="true",
		boolean includeSoftDeletes="false"
	) {
		$args(name="updateByKey", args=arguments);
		$keyLengthCheck(arguments.key);
		arguments.where = $keyWhereString(values=arguments.key);
		StructDelete(arguments, "key");
		local.rv = updateOne(argumentCollection=arguments);
		return local.rv;
	}

	public boolean function updateOne(
		string where="",
		string order="",
		struct properties="#StructNew()#",
		boolean reload,
		boolean validate="true",
		string transaction="#application.wheels.transactionMode#",
		boolean callbacks="true",
		boolean includeSoftDeletes="false"
	) {
		$args(name="updateOne", args=arguments);
		local.object = findOne(where=arguments.where, order=arguments.order, reload=arguments.reload, includeSoftDeletes=arguments.includeSoftDeletes);
		StructDelete(arguments, "where");
		StructDelete(arguments, "order");
		if (IsObject(local.object))
		{
			local.rv = local.object.update(argumentCollection=arguments);
		}
		else
		{
			local.rv = false;
		}
		return local.rv;
	}

	/*
	* PUBLIC MODEL OBJECT METHODS
	*/

	public boolean function update(
		struct properties="#StructNew()#",
		any parameterize,
		boolean reload,
		boolean validate="true",
		string transaction="#application.wheels.transactionMode#",
		boolean callbacks="true"
	){
		$args(name="update", args=arguments);
		$setProperties(argumentCollection=arguments, filterList="properties,parameterize,reload,validate,transaction,callbacks");
		local.rv = save(parameterize=arguments.parameterize, reload=arguments.reload, validate=arguments.validate, transaction=arguments.transaction, callbacks=arguments.callbacks);
		return local.rv;
	}

	public boolean function updateProperty(
		string property,
		any value,
		any parameterize,
		string transaction="#application.wheels.transactionMode#",
		boolean callbacks="true"
	) {
 		$args(name="updateProperty", args=arguments);
		arguments.reload = false;
		arguments.validate = false;
		if (StructKeyExists(arguments, "property") && StructKeyExists(arguments, "value")) {
