Don't create a new specs dispatcher every frame
build()
ing a dispatcher creates a new thread pool with a number of threads every single tick. On Windows, thread creation is a fair bit slower, which impacts performance a lot. The dispatcher should only be created once, either by passing it to tick
or by keeping it in a (thread local?) static.