using remaining() would be more representative of the size of the things in the queue, and also be more robust to changes in the underlying implementation of `Operation`