Okay, since you asked me to post it here, I'll break it down into parts.
Implementation suggestion:
You could add an adjustable delay time for the response.
To avoid changing what's currently available, every time you start the software, you would start with the default value of "0 ms," allowing you to increase this delay.
Justification:
This way you could simulate slower devices and/or networks.