anchor.diff:    
     controler.add(new Welcome(playerId: playerId));
     // broadcast all events history to player
  -  _eventsHistory.forEach(controler.add);
  -  // TODO sent welcome to every body ?  
  +  _eventsHistory.forEach(controler.add); 
   }
   
  -void disconnectPlayer(int playerId) {
  +void connectionLost(int playerId) {
     print("Connexion is lost");
     if(_clients.containsKey(playerId)){
       _clients[playerId].close();
  
positive.code:   vDir.serveFile(new File(indexUri.toFilePath()), request);
  }
  
  void handleWebSocket(WebSocket ws) {
    print("Player connected");
    final playerId = generatePlayerId();
  
negative.code:   _clients.values.forEach((controler) => controler.add(event));
  }
  
  bool handleJoinGame(JoinGame event) {
    print("Player ${event.playerId} is ready");  
    // TODO add to players
    return true;
  }
  
  bool handleLeaveGame(LeaveGame event) {
    print("Player ${event.playerId} is leaving");
    _clients[event.playerId].close();
    _clients.remove(event.playerId);
    // TODO remove from players
    return true;
  }