Why do CacheSweepers listen to the Controller

I must be missing something, but it seems that it would be best to have
the sweeper listen to ActiveRecord, and have it expire caches on
after_save & after_destroy.