anchor.diff:  
   class GameState {
     /// Wait, until the admin starts the game.
  -  static const WAITING = const GameState._(0);
  +  static const settingup = const GameState._(0);
     /// A round is running. Nobody found a solution, yet.
  -  static const SEARCHING = const GameState._(1);
  +  static const running = const GameState._(1);
     /// At least one player found a solution and the timer is running.
  -  static const UNDERSELLING = const GameState._(2);
  +  static const underselling = const GameState._(2);
     /// The timer ended and the players are showing there ways.
  -  static const DISSOLVING = const GameState._(3);
  +  static const dissolving = const GameState._(3);
     /// The game ended. Every Chip is earned.
  -  static const ENDED = const GameState._(4);
  +  static const ended = const GameState._(4);
     
  -  static get values => [WAITING, SEARCHING, UNDERSELLING, DISSOLVING, ENDED];
  +  static get values => [settingup, running, underselling, dissolving, ended];
     
     final int value;
     
  
positive.code:   var board;
    
    Ruleset({board: null}) {
      if (null == board) board = randomBoard;
    }
    
    /**
     * Generates a representation of a random board. See [Ruleset.board].
     */
    List<int> get randomBoard {
      List bscopy = new List.from(boardsegments);
      List b = new List();
      bscopy..shuffle()
  
negative.code: library ricochetrobots;
  
  import 'messages.dart';
  
  class Game {
    Ruleset rules;
    GameState _state;
    List<Participant> _participants;
    
    Function _send;
    
    Game(String adminClientId);
    
    set onmessage(Function value) {
      if (_send != null) throw new UnsupportedError('Callback is already set.');
      _send = value;
    }
    
    void sendMsg(MessageBase msg) {
      
    }
    
  }
  
  