if(!window.belay) window.belay = {};
window.belay.belayInit = (function() {
  var callbacks = [];
  console.log('initializing...');

  function frameInfo(frameMaker, frameAdder, email) {
    function connect() {
      var frameWindow = frame[0].contentWindow;

      frame.unbind('load', connect);

      window.belay.port = makePostMessagePort(frameWindow, "belay");

      // TODO(joe): check args order of postMessage cross browser, use
      // $.pm() here if necessary
      var loc = window.location;
      var location = {
        hash: loc.hash,
        hostname: loc.hostname,
        port: loc.port,
        pathname: loc.pathname,
        href: loc.href
      };
      $.pm({
        target: frameWindow,
        type: 'init',
        data: {
          clientLocation: location,
          email: email
        }
      });

      // Clear the has ASAP
      window.location.hash = "";

      window.belay.portReady();
    }

    var frame = frameMaker();
    frame.load(connect);
    frameAdder(frame);
  }

  return Object.freeze(frameInfo);
})();


@@ -510,16 +510,140 @@
     var 
+hash = window.location.hash;%0A      if (loc.hash === %22%22 %7C%7C loc.hash === %22#%22) %7B%0A        hash = window.name;%0A      %7D%0A      var 
 location
@@ -661,20 +661,16 @@
   hash: 
-loc.
 hash,%0A  
@@ -969,16 +969,17 @@
  the has
+h
  ASAP%0A  
@@ -1010,16 +1010,42 @@
  = %22%22;%0A%0A
+      window.name = hash;%0A
       wi

save the launchcap in window.name for refreshes