replace participant controller paginator to support asynchronous pagination