           console.log(e)
           @trigger('comm:fatal', e)
           @trigger('commit:failed', {errors: "Communication error!"})
+          throw e
       error: =>
         # TODO: i18n
         errors = {errors: "Communication error!"}

          @trigger('comm:fatal', e)
          options.error() if options.error
          @trigger('authenticate:failed')
      error: =>
        options.error() if options.error
        @trigger('authenticate:failed')

      silent: true
      success: (model) =>
        try
          if model.get('models') or model.get('relations')
            models = {}
            @_processServerModelsResponse model,
              extra: (m) =>
                modelType = @getModelType(m)
                unless models[modelType]
                  models[modelType] = []
                models[modelType].push(m)
            @_processServerRelationsResponse(model)
            @reportSyncChanges()
            @trigger('service:done', models)
            params.success(models) if _.isFunction(params.success)
          else if model.get('json')
            resp = model.get('json')
            @trigger('service:done', resp)
            params.success(resp) if _.isFunction(params.success)
        catch e
          console.log(e)
          @trigger('comm:fatal', e)
          @trigger('service:failed', e)
          throw e
      error: (resp) =>
        @trigger('service:failed', resp)
    @trigger('service:start', @)
