TODO Note that the sorter will be instantiated 2 times as follows
1. During the sort/spill in the map phase
2. During the merge in the sort phase
We need the handle to the matcher thread only in (2).
This logic can be relaxed to run only in (2).