Why is decreasing the expiryTime disallowed?  It makes the name of the function a little non-intuitive, but maybe that's ok.  If this is really the behavior we want, can you make the code comment more explicit about this?