¿Por qué esta clase MATLAB no conserva sus propiedades?

Debe haber algo muy simple que me estoy perdiendo aquí. Tengo una clase MATLAB que crea una figura que contiene dos botones, cada botón llama a la misma función, pero los controladores de esos botones no se retienen dentro de esa función, y no sé por qué.

Aquí está la clase, 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

Si lo llamo, abre la figura y muestra los números de identificador de los botones:

>> T = Test
T = 
  Test with properties:

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

Si presiono el botón A, la función devuelve dos valores vacíos, como si las propiedades no se hubieran establecido:

Button =
          745.000122070313
ans =
     []
ans =
     []

Si presiono el botón B, la función devuelve el valor para el botón A, pero un valor vacío para el botón B:

Button =
          103.002319335938
ans =
          745.000122070313
ans =
     []

Estaría muy agradecido por cualquier sugerencia.

Respuestas a la pregunta(1)

Su respuesta a la pregunta