       @constructor._collection.remove @id
       @id = null
 
-  mongoize: (attributes) ->
+  _mongoize: (attributes) ->
     taken = {}
     for name, value of attributes
       continue if name.match(/^_/)
       taken[name] = value
     taken
 
-  demongoize: (attributes) ->
-    taken = {}
-    for name, value of attributes
-      continue if name.match(/^_/)
-      taken[name] = value
-    taken
+  _demongoize: (attributes) -> @_mongoize(attributes)
 
   @_collection: undefined
   @_type: undefined

    @_collection.find(selector, options)

  @all: (selector = {}, options = {}) ->
    @_collection.find(selector, options)

  @toArray: (selector = {}, options = {}) ->
    for attributes in @where(selector, options).fetch()


  constructor: (attributes = {}) ->
    if attributes._id
      @attributes = @_demongoize(attributes)
      @id = attributes._id
    else
      @attributes = attributes
