 		# affecting _ALL_ instances, both current and future, of type.
 		extend: (type, extend) ->
 			if (@_context.entities[type])
-				_.extend @_context.entities[type].Constructor.prototype, extend.prototype
+				_.extend @_context.entities[type].Constructor::, extend::
 		
 		# Return the canonical memory reference of the entity.
 		intern: (entity, updateOnIntern) ->

			_build_relationship(definition, rel_name, relationship) for rel_name, relationship of definition.relationships

			# Add any additional prototypes functions
			if (proto) then _.extend definition.Constructor.prototype, proto.prototype

		# Prepare a mutacc for a specific property.
		# The property mutacc must handle entity accounting details.
		_build_mutacc = (definition, field, property) =>
			# Each field name is its own function combining getters and setters, depending on arguments.
			definition.Constructor.prototype[field] = (value) ->
				# Overloaded getter and setter.
				if (undefined isnt value)
					# Value is defined, so this is a setter

					return min

			# Alias _encode as toJSON for ES5 JSON.stringify()
			definition.Constructor::toJSON = definition.Constructor::_encode

			# Prepare property mutators and accsessors.
			_build_mutacc(definition, field, property) for field, property of definition.properties
