private void refreshTitleAndDescription() {
        if (board.getPlayerWhite() != null && board.getPlayerBlack() != null) {
            if (board.getWhiteRank() != null && board.getBlackRank() != null) {
                titleLabel.setText(board.getPlayerWhite() + " (" + board.getWhiteRank() + ")" +
                        " vs. " + board.getPlayerBlack() + " (" + board.getBlackRank() + ")");
            } else {
                titleLabel.setText(board.getPlayerWhite() + " vs. " + board.getPlayerBlack());
            }
        }
        
        String description = "";
        if (board.getDate() != null) {
            description += board.getDate() + " ";
        }
        if (board.getEvent() != null) {
            description += "at " + board.getEvent() + " ";
        }
        if (board.getPlace() != null) {
            description += "in " + board.getPlace() + " ";
        }
        if (Character.isLetter(description.charAt(0))) {
            description = Character.toUpperCase(description.charAt(0)) + description.substring(1);
        }
        descriptionLabel.setText(description.trim());
    }