as it depends on the context, you can make it a constructor parameter.
for levels, we know those are relatively small. For dictionary encoding, we know how many values we want to encode and their bitWidth.