server: simplify event promises