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.