       @isLoading = no
       @resetAll()
 
-      if @activityCallback? then @activityCallback.cancel()
+      if @responseHandler? then @responseHandler.cancel()
 
       if data.type in ["Public", "Followed"] then @setFeedFilter data.type
       else @setActivityFilter data.type

    {isReady}        = groupsController
    currentGroup     = groupsController.getCurrentGroup()

    #fetch = ()=>
      #since it is not working, disabled it,
      #to-do add isExempt control.
      #@isExempt (exempt)=>
        #if exempt or @getFilter() isnt activityTypes

    #if isReady
    #then fetch
    #else groupsController.once 'groupChanged', fetch

    options =
      to     : options.to or Date.now()
      group  :
        slug : currentGroup.slug or "koding"
        id   : currentGroup.getId()
      limit  : 20
      facets : @getActivityFilter()

    @activityCallback = KD.utils.getCancellableCallback (err, activities, callback)=>
      @activityCallback = null
      @isLoading = no
      @listenToLazyThreshold()

      if err or activities.length is 0
        warn err  if err

        @listController.hideLazyLoader()
        @listController.showNoItemWidget()
      else
        callback activities

    @fetchActivities options, @activityCallback

  fetchActivities: (options={}, callback)->
    if @getFeedFilter() is "Public" then @fetchPublicActivities options, callback

    activityController.on 'Refresh', @bound "refresh"

    @listController = controller
    @bindLazyLoad()

    @getView().widgetController.on "FakeActivityHasArrived", (activity)->
      controller.fakeActivityArrived activity
