     @filter = options.filter if options.filter
     @data = options.data || {}
     @on 'reset', -> @select(undefined)
+    @on 'sync', @savePollInterval
 
   # Default filter accepts all models
   filter: (model) -> true

    clearTimeout @pollTimer
    @pollTimer = setTimeout @poll, @pollInterval

    @fetch(remove: false, reset: false).then(@savePollInterval)

  stopPolling: ->
    clearTimeout @pollTimer if @pollTimer

    model if @filter(model)

  # Internal: Save the poll interval returned from the API
  savePollInterval: (collection, _, options) ->
    if interval = options.xhr.getResponseHeader('X-Poll-Interval')
      @pollInterval = Number(interval) * 1000
