Some options methods in this and other classes cache the result (like this method with `@options ||= ...`, while other's do not). Is there a reason? Perhaps should be consistent in implementation.