The API for this class is remarkably similar to ExecutorService

* schedule() is the same as ExecutorService.submit()
* finished() is ExecutorService.shutdown() followed by awaitTermination()

Why not just use ExecutorService, and change InvokerStrategy to implement ExecutorService and rename it InvokerThreadExecutorService?