UPDATED: Added caching when value is found. TESTED: find_value, store