improve triggerEvents logic
call is faster than apply