If someone sets options.cacheHours as a string, then this will silently fail. Probably bad because I would imagine some people might set the value as a string, for example:

`options.cacheHours = 27;`
`options.cacheHours = '27';`

I feel like both of those should work. If the argument IS a string, we can check with `isNaN` or `parseInt` to determine if it is a valid number, and throw an exception if it is not a number.