This interface is a type of runnable object that requires no per thread initialization. It is meant to be used with pools of threads in an abstract way that prevents the pool from needing to know any details about the object being run. This allows queuing of disparate tasks and servicing those tasks with a generic thread pool.