Por que essa classe MATLAB não mantém suas propriedades?

Deve haver algo muito simples que estou sentindo falta aqui. Eu tenho uma classe MATLAB que cria uma figura contendo dois botões, cada botão chama a mesma função, mas as alças desses botões não são mantidas nessa função e não sei por quê.

Aqui está a aula, simplificada ...

classdef Test

    properties
        Figure
        ButtonA
        ButtonB
    end

    methods    
        function app = Test()       
            app.Figure = figure();

            app.ButtonA = uicontrol('Style', 'pushbutton', ...
                'String', 'Button A', ...
                'Position', [10, 10, 100, 20], ...
                'Callback', @app.PressButton);
            app.ButtonB = uicontrol('Style', 'pushbutton', ...
                'String', 'Button B', ...
                'Position', [10, 120, 100, 20], ...
                'Callback', @app.PressButton);
        end

        function PressButton(app, Button, ~)
            Button
            app.ButtonA
            app.ButtonB
        end
    end
end

Se eu ligar, abre a figura e exibe os números de identificador dos botões:

>> T = Test
T = 
  Test with properties:

     Figure: 8
    ButtonA: 745.000122070313
    ButtonB: 103.002319335938
>> T.ButtonA
ans = 745.000122070313
>> T.ButtonB
ans = 103.002319335938

Se eu pressionar o botão A, a função retornará dois valores vazios, como se as propriedades não tivessem sido definidas:

Button =
          745.000122070313
ans =
     []
ans =
     []

Se eu pressionar o botão B, a função retornará o valor do botão A, mas um valor vazio para o botão B:

Button =
          103.002319335938
ans =
          745.000122070313
ans =
     []

Ficaria muito grato por todas as sugestões.

questionAnswers(1)

yourAnswerToTheQuestion