public override async Task <object> Execute(object input) { List <EventA> eventsA = new List <EventA>(); List <EventB> eventsB = new List <EventB>(); using (EventReceiver.AddListener <EventA>("EventA", eventsA.Add)) using (EventReceiver.AddListener <EventB>("EventB", eventsB.Add)) { await EventReceiver.WaitForEventAsync <object>("Stop"); } var result = new { EventsA = eventsA, EventsB = eventsB }; return(result); }