Since the spec identifies several cases of asynchronous tasks which must be performed, the RI should have a single, consistent set of interfaces to provide the executor services needed and the tasks to be performed. In Java SE 5 and 6, java.util.concurrent does provide useful interfaces for dealing with tasks which are executed by a separate service. It is recommended that the Executor interface be used as-is for those not requiring a timer (just execution in a separate thread of control), and perhaps the Delayed mix-in style interface for tasks requiring a timer or delay of execution. Alternatively, another executor interface can be chosen from SE to provide methods which take both the task to perform and the time delay.
In general, use of the java.util.concurrent interfaces, and even the implementations where possible, will reduce the amount of code in the RI and make better use of existing Java resources.