Why is there a queue in each network module to manage remote events and remote function requests?

Hello, I am currently working on a network module for my own game, because all the community modules related to the network are not the best solution for me. And since these modules look pretty attractive and popular, I think it’s a good idea to use some of their code practises in my code. So, while I was looking through the scripts of Warp, BridgeNet2, ByteNet and other network modules, I noticed that almost every module has its own queue, which is used to manage remote events and remote function requests for each player. So, I have a question: why is there an additional queue that is connected to the RunService. I don’t see any point in this, except that processing requests now takes a little longer (which is bad sometimes). So why is this done?