@SuppressWarnings("unchecked")
    public Map<String, Object> getStateForPlayerId(String playerId) {
      Map<String, Object> result = Maps.newHashMap();
      for (String key : state.keySet()) {
        Object visibleToPlayers = visibleTo.get(key);
        Object value = null;
        if (visibleToPlayers.equals(ALL)
            || ((List<String>) visibleToPlayers).contains(playerId)) {
          value = state.get(key);
        }
        result.put(key, value);
      }
      return result;
    }