Currently, every agent must look for a path every frame. While improving that is another issue, it would also be nice to allow specifying an executor. This executor could be a SynchronousExecutor which should roughly maintain the existing behaviour, a ThreadPoolExecutor which should compute paths using a thread pool, and perhaps a ThrottledExecutor which could be like the SynchronousExecutor but computes some limited number of paths (or perhaps time limited) per update to prevent large lag spikes.