Is `scheduler.now()` supposed to be in millis or nanos? If nanos, why exactly? That means it's not actually "time" it's the relative time since the JVM started.

I question if this is correct in AbstractScheduler:

```java

    @Override
    public long now() {
        return System.nanoTime();
    }
```