How to set up data driven timeline events?

I have a number of data-driven events that require certain cues to be shown to the user at specific times (similar to subtitles being linked to an audio fragment). Normally I would use the Timeline component for this, but since this is data driven, that’s not an option (there’s no variable for the float curve in a Timeline component)

What I tried as a workaround is to have a struct with the time and data in it, then use a ForEachLoop to loop through the struct and create a timer using SetTimerByFunction name (also tried by Event) for each time variable in it. This however
results in the event only be called once regardless of the amount of data in the struct. Apprarently, each SetTimerByFunctionName call in a for loop overwrites the previous reference instead of creating a new one.

Is there another way to do this in Blueprints?

What I do now as a workaround is to create the new timer at the moment the old timer ends, but this makes everything considerably more complex, especially considering the data might not be in chronological order.