/**
   * Method called to handle the situation where a user selects one of his/her pieces to move.
   *
   * @param piece Piece selected on the board
   */
  public void handlePickPiece(Piece piece) {
    // set currentPiece and locate its position
    currentPiece = piece;
    char file = piece.getFile();
    int rank = piece.getRank();

    // low-light its space
    light(gui.getSpaceAt(file, rank), false);
    ArrayList<Pair<Character, Integer>> moveList = master.moveList(piece);

    // highlight and enable legal moves
    for (javafx.util.Pair<Character, Integer> move : moveList) {
      int currRank = move.getValue();
      char currFile = move.getKey();
      light(gui.getSpaceAt(currFile, currRank), true);
    }
  }