util: added promise based delayed event trigger