event flow design