support direct event calling on emit function