Hmm, let me think about how we can get rid of the lock - since we are initializing processors lazily, we want to ensure that total still does not go over maxInstances.