   updateSelectors: ->
     @refreshSelectorsButton.hide()
     @selectorList.empty()
+    self = this
 
     for packageName, deprecationsByFile of getSelectorDeprecations()
       @selectorList.append $$ ->

          @ul class: 'list', =>
            for sourcePath, deprecations of deprecationsByFile
              @li class: 'list-item source-file', =>
                @a href: path.join(deprecations[0].packagePath, sourcePath), sourcePath
                @ul class: 'list', =>
                  for deprecation in deprecations
                    @li class: 'list-item text-success', deprecation.message

    title = "#{deprecation.getOriginName()} is deprecated."
    stacktrace = stack.map(({functionName, location}) -> "#{functionName} (#{location})").join("\n")
    body = "#{deprecation.getMessage()}\n```\n#{stacktrace}\n```"
    "#{repoUrl}/issues/new?title=#{encodeURI(title)}&body=#{encodeURI(body)}"

  createSelectorIssueUrl: (packageName, deprecation, sourcePath) ->
    return unless repo = atom.packages.getActivePackage(packageName)?.metadata?.repository
    repoUrl = repo.url ? repo
    repoUrl = repoUrl.replace(/\.git$/, '')

    title = deprecation.message
    body = "In #{sourcePath}: #{deprecation.message}"
    "#{repoUrl}/issues/new?title=#{encodeURI(title)}&body=#{encodeURI(body)}"

  updateCalls: ->
