       return collection
 
     # If we haven't returned yet, we need to go to the server to load some missing data.
-    modelOrCollection = @collection
+    modelOrCollection = @internalCollection
     modelOrCollection = @loadOptions.model if @loadOptions.only && @loadOptions.model
     
-    jqXhr = Backbone.sync.call @collection, 'read', modelOrCollection, @_buildSyncOptions()
+    jqXhr = Backbone.sync.call @internalCollection, 'read', modelOrCollection, @_buildSyncOptions()
 
     if @loadOptions.returnValues
       @loadOptions.returnValues.jqXhr = jqXhr
 
-    @collection
+    @internalCollection
 
   onLoadSuccess: (resp, status, xhr) =>
     # The server response should look something like this:

    else
      data = _(results).map (result) -> base.data.storage(result.key).get(result.id)

    @_success @loadOptions, @collection, data

  _buildSyncOptions: ->
    syncOptions =


    # Generate collection references
    @cachedCollection = @storageManager.storage @loadOptions.name
    @internalCollection = @storageManager.createNewCollection @loadOptions.name, []

  _checkCache: ->
    unless @loadOptions.cache == false
