Default implementation with no actual caching, but conforms to the public API