split eventpromise to separate project