Identifying cause of task update Event

Hello Camunda community,
We using Camunda 7.20 embedded in Java Spring Boot. We implemented an Event Bridge to globally catch various events done during BPMN process.

@TransactionalEventListener(condition = "#taskDelegate.eventName=='" + TaskListener.EVENTNAME_UPDATE + "'", phase = TransactionPhase.BEFORE_COMMIT)
    public void taskUpdate(DelegateTask taskDelegate) {
       ...
    }

We need to implement functionality, that relies on modification of specific variable.
However this event is triggered by many actions and we cannot find an easy way to identify the original action that raised the update event:

Action Triggers update event Desired for my cause
Add Comment Yes No
Candidate User modified Yes No
Variable newly assigned Yes Yes
Variable reassigned Yes Yes
Variable removed No Yes

With respect to this table, is there a way to:

  1. Identify Action that raised event?
  2. For Variable related Actions, any way to identify what variable was affected? Old and New value?
  3. Catch variable removal?