       @sourceCollection = @sourceDocument.Meta.collection
 
     validate: =>
-      throw new Error UNDEFINED_SOURCE_DOCUMENT unless @sourceDocument
-      throw new Error UNDEFINED_SOURCE_PATH unless @sourcePath
+      throw new Error "Undefined source document" unless @sourceDocument
+      throw new Error "Undefined source path" unless @sourcePath
 
   @_ObservingField: class extends @_Field
 

    validate: =>
      super()

      throw new Error UNDEFINED_TARGET_COLLECTION unless @targetCollection
      throw new Error UNDEFINED_TARGET_DOCUMENT if _.isUndefined @targetDocument

  @_ReferenceField: class extends @_TargetedFieldsObservingField
    constructor: (targetDocumentOrCollection, fields, @required) ->

INVALID_TARGET = "Invalid target document or collection"

isPlainObject = (obj) ->
  if not _.isObject(obj) or _.isArray(obj) or _.isFunction(obj)
