ServiceAffinityExecutor(threadName: String, numThreads: Int)
An executor backed by thread pool (which may often have a single thread) which makes it easy to schedule tasks in the future and verify code is running on the executor.