Might be more robust to use a DateTime of expiry instead of a TimeSpan.