If the default (Executor)Scheduler would schedule the stateless tasks without turning them into a recursive call, there were no need to use a helper:

```java
/**
 * Schedules an action to be executed.
 * 
 * @param action
 *            action
 * @return a subscription to be able to unsubscribe from action.
 */
public Subscription schedule(final Action0 action) {
    return schedule(null, new Func2<Scheduler, Void, Subscription>() {
        @Override
        public Subscription call(Scheduler scheduler, Void state) {
            action.call();
            return Subscriptions.empty();
        }
    });
}
```