We could try moving TTL logic into the delete tracker. Would need to check how the stacking works after
I think that would be cool. In fact, why not express all the ScanQueryMatcher logic with filters (that's something that our Jesse Yates suggested a long time ago). That would (a) allow users to easily customize the logic and (b) get rid of a whole bunch of custom framework logic.
Imagine a FilterList and deals with deletes, TTL, MinVersions, etc, each implemented as a clean, separate filter. How cool would that be?