the warmUpMs API seems a bit idiosyncratic to me. So the total warm-up time is capacity * warmUpMs? this could be made clearer.