     records = [records] unless isArray(records)
 
     for record in records
-      record.newRecord    = false
-      record.id           or= guid()
-      @records[record.id] = record
+      record.newRecord      = false
+      record.id           or= record.cid
+      @records[record.id]   = record
+      @crecords[record.cid] = record
 
     @trigger('refresh', not options.clear and records)
     @

  destroy: (options = {}) ->
    @trigger('beforeDestroy', options)
    delete @constructor.records[@id]
    @destroyed = true
    @trigger('destroy', options)
    @trigger('change', 'destroy', options)


  @cloneArray: (array) ->
    (value.clone() for value in array)
    
  @idCounter: 0
  
  @uid: ->
    @idCounter++

  # Instance

