anchor.diff:          }
         });
       }
  -
  +  }
  +
  +  void leaveMatch(HydraCallback callback) {
  +    if(match != null) {
  +      Map message = {
  +        'cmd': 'leave',
  +        'payload': {
  +          'session': this.rtSessionAlias
  +        }
  +      };
  +      hydraClient.wsSend(message);
  +
  +      hydraClient.put('matches/${match['id']}/leave', {}, callback);
  +      this.match = null;
  +    }
     }
   
     void hydraLogin(var auth, HydraCallback callback) {
  
positive.code:       }
      } else if(cmd == 'player-joined') {
        if(payload['alias'] == this.rtSessionAlias) {
          this.grids[payload['player']] = _renderGrid(querySelector('#opponentcolumn'), payload['data']['identity']['username'], payload['player'],false);
        }
      } else if(cmd == 'send-simulation') {
        if(payload['alias'] == this.rtSessionAlias) {
  
negative.code: 
    void findMatch(HydraCallback callback) {
      if(isAuthenticated) {
        leaveMatch((JsObject response) {
          // Ignore this for now, we tried our best
        });
  
        hydraClient.put('matches/matchmaking/5-way/join', {'cluster': this.hydraClient.rtCluster}, (JsObject response) {
          this._onMatchJoin(response);
  