Move cache expiry to model