Could argue either way. Two issues with this:

1. We'd need to shuffle the order of initializations in the constructor. Otherwise `cache` is set before setting the logger.
2. In the event that a cache object was passed in, this would clobber any logger that may have been intentionally set.