Actually, for story code, TriggerLaunchIterator iterates through all characters within the given trigger's bounds.
Yeah at first I used it but then I realized it doesn't pass along the trigger. I ended up using it though pairing an event name with each trigger in the database. Then I use that to pass the trigger along with the event. So I have a reference to both character and trigger in the story in the same context. Tricky stuff.