   # Info requests are simple, just send some useful information back. Done!
   if request.type in ['info', 'version']
     return sendResponse? id: EXTENSION_ID, version: ext.version
-  data             = null
-  output           = null
-  popup            = chrome.extension.getViews(type: 'popup')[0]
-  popupItems       = if popup then $ '#item',    popup.document else $()
-  popupLoader      = if popup then $ '#loadDiv', popup.document else $()
-  shortCalled      = no
-  shortPlaceholder = "short#{utils.random 1000, 99999}"
-  tab              = null
-  template         = null
-  windowId         = null
+  data        = null
+  output      = null
+  popup       = chrome.extension.getViews(type: 'popup')[0]
+  popupItems  = if popup then $ '#item',    popup.document else $()
+  popupLoader = if popup then $ '#loadDiv', popup.document else $()
+  shortenMap  = {}
+  tab         = null
+  template    = null
+  windowId    = null
   # Create a runner to manage this asynchronous mess.
   runner = new utils.Runner()
   runner.push chrome.windows, 'getCurrent', (win) ->

          success:  yes
          template: template
    ]
  runner.pushPacked null, callUrlShortener, ->
    [data.url, (response) ->
      if response.success and response.shortUrl
        # Short URL was successfully returned so re-render the output.
        newData = {}
        newData[shortPlaceholder] = response.shortUrl
        runner.finish
          contents: Mustache.to_html output, newData
          success:  yes
          template: template
      else
        # Aw man, something went wrong. Let the user down gently.
        response.message ?= i18n.get 'shortener_error', response.shortener
        runner.finish
          message:  response.message
          success:  no
          template: template
    ]
  runner.run (result) ->
    type  = request.type[0].toUpperCase() + request.type.substr 1
    value = request.data.key.charCodeAt 0 if request.type is 'shortcut'

    key:      'PREDEFINED.00004'
    readOnly: yes
    shortcut: 'E'
    title:    i18n.get 'default_template_encoded'
    usage:    0
  ,
    content:  '[url={url}]{title}[/url]'
