Extension of the Runnable interface, adding special callbacks
for long-running operations.
This interface closely corresponds to the CommonJ Work interface,
but is kept separate to avoid a required CommonJ dependency.
Scheduling-capable TaskExecutors are encouraged to check a submitted
Runnable, detecting whether this interface is implemented and reacting
as appropriately as they are able to.