abort out early if you have no events instead of checking this all over the place