The ORM-based ChangesTable and EntityChange (and associated colony of stuff) is not very nice and easy to work with.
We want to be able to lookup changes that are relevant to a given site, by joining against the subscriptions table. Such lookup could be part of a ChangeLookup. We could also have in-memory change store / lookup implementation that would make testing easier.
having such replacements would make it easier, nicer and more feasible to fix the change dispatcher filtering (among other related issues)