 	</cfscript>
 </cffunction>
 
-<cffunction name="errorCount" returntype="numeric" access="public" output="false" hint="Returns the number of errors this object, property or name has associated with it.">
-	<cfargument name="property" type="string" required="false" default="" hint="Name of property">
-	<cfargument name="name" type="string" required="false" default="" hint="Given name for the error">
+<cffunction name="errorCount" returntype="numeric" access="public" output="false"
+	hint="Returns the number of errors this object has associated with it. Specify `property` or `name` if you wish to count only specific errors."
+	examples=
+	'
+		<!--- Check how many errors are set on the object --->
+		<cfif author.errorCount() GTE 10>
+			<!--- Do something to deal with this very erroneous author here... --->
+		</cfif>
+	'
+	categories="model-object" chapters="object-validation" functions="addError,addErrorToBase,allErrors,clearErrors,errorsOn,errorsOnBase,hasErrors">
+	<cfargument name="property" type="string" required="false" default="" hint="Specify a property name here if you want to count only errors set on a specific property.">
+	<cfargument name="name" type="string" required="false" default="" hint="Specify an error name here if you want to count only errors set with a specific error name.">
 	<cfscript>
 		var loc = {};
 		if(!len(arguments.property) && !len(arguments.name))

	<cfreturn loc.returnValue>
</cffunction>

<cffunction name="allErrors" returntype="array" access="public" output="false" hint="Returns an array of all errors on the object.">
	<cfscript>
		var loc = {};
		loc.returnValue = variables.wheels.errors;
	</cfscript>
	<cfreturn loc.returnValue>
</cffunction>

<cffunction name="addError" returntype="void" access="public" output="false"
	hint="Adds an error on a specific property."
	examples=
	'
		<!--- Add an error to the `email` property --->
		<cfset addError(property="email", message="Sorry, you are not allowed to use that email, try again please.")>
	'
	categories="model-object" chapters="object-validation" functions="addErrorToBase,allErrors,clearErrors,errorCount,errorsOn,errorsOnBase,hasErrors">
	<cfargument name="property" type="string" required="true" hint="The name of the property you want to add an error for.">
	<cfargument name="message" type="string" required="true" hint="The error message (such as ""Please enter a correct name in the form field"" for example).">
	<cfargument name="name" type="string" required="false" default="" hint="A name to identify the error by (useful when you need to distinguish one error from another one set on the same object and you don't want to use the error message itself for that).">
	<cfscript>
		ArrayAppend(variables.wheels.errors, arguments);
	</cfscript>
</cffunction>

<cffunction name="addErrorToBase" returntype="void" access="public" output="false"
	hint="Adds an error on the object as a whole (not related to any specific property)."
	examples=
	'
		<!--- Add an error on the object --->
		<cfset addError(message="Your email address has to be the same as your domain name.")>
	'
	categories="model-object" chapters="object-validation" functions="addError,allErrors,clearErrors,errorCount,errorsOn,errorsOnBase,hasErrors">
	<cfargument name="message" type="string" required="true" hint="See documentation for @addError.">
	<cfargument name="name" type="string" required="false" default="" hint="See documentation for @addError.">
	<cfscript>
		arguments.property = "";
		addError(argumentCollection=arguments);
	</cfscript>
</cffunction>

<cffunction name="allErrors" returntype="array" access="public" output="false"
	hint="Returns an array of all the errors on the object."
	examples=
	'
		<!--- Get all the errors for the `user` object --->
		<cfset errorInfo = user.allErrors()>
	'
	categories="model-object" chapters="object-validation" functions="addError,addErrorToBase,clearErrors,errorCount,errorsOn,errorsOnBase,hasErrors">
	<cfscript>
		var loc = {};
		loc.returnValue = variables.wheels.errors;
	</cfscript>
	<cfreturn loc.returnValue>
</cffunction>

<cffunction name="clearErrors" returntype="void" access="public" output="false"
	hint="Clears out all errors set on the object or only the ones set for a specific property or name."
	examples=
	'
		<!--- Clear all errors on `firstName` --->
		<cfset clearErrors("firstName")>
	'
	categories="model-object" chapters="object-validation" functions="addError,addErrorToBase,allErrors,errorCount,errorsOn,errorsOnBase,hasErrors">
	<cfargument name="property" type="string" required="false" default="" hint="Specify a property name here if you want to clear all errors set on that property.">
	<cfargument name="name" type="string" required="false" default="" hint="Specify an error name here if you want to clear all errors set with that error name.">
	<cfscript>
		var loc = {};
		if (!Len(arguments.property) && !Len(arguments.name))
			ArrayClear(variables.wheels.errors);
		else
		{
