If I understand correctly, you want to simplify the timeout array by just having one immutable setTimeout at any given time. 

I went away from this to cover the following case:
```
 schedule('key1', 30*1000);
 schedule('key2', 15*1000);
```

With only 1 immutable timeout, both ```key1``` and ```key2``` would fire after 30 seconds. 

I think that this class should be its own open source node module.