Adding pluggablility to work allocation, along with a new work allocation strategy to group small topics within the same task.

true, i'm updating to include the map task id in place of partitionId.