code: function (options) {
      var key;
      var data = {};
      var xhr  = PUSH.xhr;
  
      options.container = options.container || options.transition ? document.querySelector('.content') : document.body;
  
      for (key in bars) {
        options[key] = options[key] || document.querySelector(bars[key]);
      }
  
      if (xhr && xhr.readyState < 4) {
        xhr.onreadystatechange = noop;
        xhr.abort()
      }
  
      xhr = new XMLHttpRequest();
      xhr.open('GET', options.url, true);
      xhr.setRequestHeader('X-PUSH', 'true');
  
      xhr.onreadystatechange = function () {
        if (options._timeout) clearTimeout(options._timeout);
        if (xhr.readyState == 4) xhr.status == 200 ? success(xhr, options) : failure(options.url);
      };
  
      if (!PUSH.id) {
        cacheReplace({
          id         : +new Date,
          url        : window.location.href,
          title      : document.title,
          timeout    : options.timeout,
          transition : null
        });
      }
  
      if (options.timeout) {
        options._timeout = setTimeout(function () {  xhr.abort('timeout'); }, options.timeout);
      }
  
      xhr.send();
  
      if (xhr.readyState && !options.ignorePush) cachePush();
    }
docs: Core PUSH functionality =======================