cached_function call logically const, protected by mutex