client: separate event loop groups