docs: function(remoteWindow, remoteOrigin) {
      this.remoteWindow = remoteWindow;
      this.remoteOrigin = remoteOrigin;
      this.timeout = 3000;
  
      this.handshaken = false;
      this.handshake = pinkySwearPromise();
      this._id = 0;
      this._queue = [];
      this._sent = {};
  
      var _this = this;
      window.addEventListener('message', function(messageEvent) { _this._receiveMessage(messageEvent) }, false);
      this._sendHandshake();
  
      return this;
  }