Allow any automation trigger as a waiting element in scripts

I’d like to run an action, if a series of events happen. This would seem natural to implement as an automation similar to the following:

trigger: 
- platform: event
  event_type: event1
action:
- service: trigger
  - platform:event
    event_type: event2
  timeout: '00:00:10'
- service: actual.service.to.run

I understand there is the wait_template, but this only works for states. I want to wait for an event. In my scheme it would actually be a sub-instance of the general idea:

- service: trigger
  - platform: template
    value_template: ...

As this would actually (to my understanding) be the most complex sub-instance, I guess it should be possible to allow also for the simpler cases of state or event triggers. Unfortunately, I looked at the code and I don’t understand how it works or whether it could be easily extended for my suggestion.

I too want to use wait_template for events. There doesn’t seem to be any way to do this.

As more devices like ZHA are moved over to events only for remotes, this is breaking existing functionality.