Is there a clever way to avoid much of the duplication that we have between the `ExpiringLruCacheSpec` and the `SimpleLruCacheSpec` here?