Expiration can be configured in multiple ways:
While all 3 methods look helpful, internally they configure different cache variables.
My question is: what is the purpose to have dedicated variables for expiration configuration. At first glance,
expireAfterAccess could be implemented reusing
expireAfter(Expiry) passing a certain Expiry object.