     mainController  = KD.getSingleton "mainController"
     @manifests      = KodingAppsController.manifests
     @publishedApps  = {}
+    @_fetchQueue    = []
 
     @getPublishedApps()
     @createExtensionToAppMap()

              catch e
                console.warn "Manifest file is broken", e
          @putAppsToAppStorage manifests
          callback? null, manifests
    , ->
      msg = "Timeout reached for kite request"
      KD.logToExternal msg
      log msg
      callback()

  fetchAppsFromDb:(callback)->
    return unless @appStorage

        else
          callback? err, apps

  fetchAppsFromFs:(cb)->

    @_fetchQueue.push cb  if cb
    return if @_fetchQueue.length > 1

    path   = "/home/#{KD.whoami().profile.nickname}/Applications"
    appDir = FSHelper.createFileFromPath path, 'folder'
    appDir.fetchContents KD.utils.getTimedOutCallback (err, files)=>
      if err or not Array.isArray files or files.length is 0
        @putAppsToAppStorage {}
        callback() for callback in @_fetchQueue
        @_fetchQueue = []
      else
        apps  = []
        stack = []
