 		unless @constructor::hasOwnProperty( '$_propertiesConfigured' ) and @constructor::$_propertiesConfigured
 			@constructor::$parse = angular.injector( [ 'ng' ] ).get "$parse"
 
-			@constructor::$_properties                = angoolar.prototypallyExtendPropertyObject @, '$_properties'
-			@constructor::$_propertyToJsonMapping     = angoolar.prototypallyExtendPropertyObject @, '$_propertyToJsonMapping'
-			@constructor::$_propertyToApiMapping      = angoolar.prototypallyExtendPropertyObject @, '$_propertyToApiMapping'
-			@constructor::$_propertyToResourceMapping = angoolar.prototypallyExtendPropertyObject @, '$_propertyToResourceMapping'
-			@constructor::$_allProperties             = _.union(
+			@constructor::$_properties                    = angoolar.prototypallyExtendPropertyObject @, '$_properties'
+			@constructor::$_propertyToJsonMapping         = angoolar.prototypallyExtendPropertyObject @, '$_propertyToJsonMapping'
+			@constructor::$_propertyToApiMapping          = angoolar.prototypallyExtendPropertyObject @, '$_propertyToApiMapping'
+			@constructor::$_propertyToResourceJsonMapping = angoolar.prototypallyExtendPropertyObject @, '$_propertyToResourceJsonMapping'
+			@constructor::$_propertyToResourceApiMapping  = angoolar.prototypallyExtendPropertyObject @, '$_propertyToResourceApiMapping'
+			@constructor::$_allProperties                 = _.union(
 				_.keys @constructor::$_properties
 				_.keys @constructor::$_propertyToJsonMapping
 				_.keys @constructor::$_propertyToApiMapping
-				_.keys @constructor::$_propertyToResourceMapping
+				_.keys @constructor::$_propertyToResourceJsonMapping
+				_.keys @constructor::$_propertyToResourceApiMapping
 			)
 
 			if @$_idProperty?.length and not @$_properties[ @$_idProperty ]?

				apiProperty  = @$_makeApiProperty property

				if angular.isString propertyUsage
					inJson = -1 isnt propertyUsage.indexOf '='
					inApi  = -1 isnt propertyUsage.indexOf '@'

					@constructor::$_propertyToJsonMapping[ property ] = jsonProperty if inJson
					@constructor::$_propertyToApiMapping[  property ] = apiProperty  if inApi

				else if angular.isFunction propertyUsage
					resourceMapping = {}
					resourceMapping[ jsonProperty ] = propertyUsage

					@constructor::$_propertyToResourceMapping[ property ] = resourceMapping

			@constructor::$_propertiesConfigured = yes


			jsonExpressionSetter json, propertyExpressionGetter @

		# Assign all the aggregated resources
		angular.forEach @$_propertyToResourceJsonMapping, ( aggregateResourceDefinition, propertyExpression ) =>
			propertyExpressionGetter = @$parse propertyExpression

			angular.forEach aggregateResourceDefinition, ( resourceClass, jsonExpression ) =>
