Cache the function, not the key