BatchFetchQueue contains several heavy collections. A single BatchFetchQueue if instantiated is likely going to use these, but it might only need a few of these - so making them all lazily initialized seems beneficial.