Primeiramente, massa demais a solução cara.
Como Juninho, fiquei com um pensamento aqui, além da escalabilidade, qual o motivo de usar streams ao invés de só ler o csv com os dados e depois executar isso com um intervalo entre as requisições pro whatsapp? pergunta honesta haha.
Valeeeu, meu nobre!!
Então, no meu pensamento também de Juninho, com as Streams a gente consegue fazer todo esse processo direto no pipeline, em que todos o middlewares serão apenas extensões do Transform, aí não é preciso separar, saca?