Refactor changes module to allow for accumulators with the callback (optional, doesn't break public API).