Try to mantain our own queue size so that we don't have to call Queue.size() every time that we remove an object
Reduce the number of method calls inside of PartitionCountingCallback.allCallbacksFinished()