Can't update output callback from within the callback

Please help me out on this!
I have several buttons organized in a matrix. Each button’s id has as index the column (A,B,C) and row (1,2,3).

Now I have a callback to change the color of the button based on two dropdowns (one for column and the other for the row). However, I’m not being able to update the output of the callback:

def __init__(self):
        self.id = "A1"

#much code here

def _set_myseat_representation(self, app):
        @app.callback(
            Output({'type': "button", 'index': self.id}, "color", allow_duplicate=True),
            Input("confirm_button", "n_clicks"),
            State("current_row", "value"),
            State("current_column", "value"),
            prevent_initial_call = True
        )
        def paint_button(n_clicks, row, column):
            self.id = column+row
            print(self.id)
            if n_clicks:
                return "success"

the printing of self.id returns the correct id based on the values of the drop-downs but it doesnt update it in the output. How can I solve this?

You want to update the instance attribute?