This setTimeout implementation has very different semantics compared to Javascript.
The main issue is it creates a thread per invocation instead of using an eventloop.
The main issue is it creates a thread per invocation instead of using an eventloop.