How to get originating task of a child activity instance

I am trying to figure out how to pass variables from a task to the call activity spawned by its own non-interrupting boundary event. I have tried a number of things and done some searching with no luck:

Screenshot%20from%202019-07-16%2016-20-37

When SourceTask is created, we execute a start script that sets the due date based on a duration input variable ( e.g. 1 business day ). We need to then send reminders 1 hour before the due date and if it is past due. Our approach is to have a cycle timer on the task for every hour, run a script to determine if an email needs to go out.

My issue is getting the due date from sourceTask in the chain of events after the timer fires. We could set process variables for the data we need, but it seems to not be best practice. Is this what I should be doing ( using process variables )? Am I missing something basic?

UPDATE:
From reading the documentation more, it seems I can get the parent activity instance like this:

var id = execution.getProcessInstanceId();
if ( typeof id !== 'undefined' ) {
  print("\n\n AFTER " + id + "\n\n");
}

var runtimeService = execution.getProcessEngineServices().getRuntimeService();

if ( typeof runtimeService !== 'undefined' ) {
  print("\n\nHAVE RUNTIME \n\n");
}
var parentInstance = runtimeService.getActivityInstance(id);

if ( typeof parentInstance !== 'undefined' ) {
  print("\n\nHAVE PARENT \n\n");
}

Now I just need to figure out how to get the originating task from the activity instance…