code: function Transport(name) {
  	this.port = runtime
  	this.tabs = tabs
  	this.name = name
  	this.key = generateRandomKey()
  	this.listener = noop
  }
docs: /*
  Reference:
  https://developer.chrome.com/extensions/messaging
  http://www.adambarth.com/experimental/crx/docs/messaging.html (Chrome <=19 )
  https://developer.chrome.com/extensions/content_scripts#host-page-communication
  http://stackoverflow.com/questions/10526995/can-a-site-invoke-a-browser-extension
  
  If you need to support Chrome 19 and earlier, use chrome.extention.onRequest and chrome.extention.sendRequest
  For Chrome 20 - 25, use chrome.extension.onMessage and chrome.extension.sendMessage
  For Chrome 26+ use chrome.runtime.onMessage and chrome.runtime.sendMessage
  
  Getting manifest config
  chrome.runtime.getManifest()