new event api (emits return events with .results())