Refactored Lookup and Try a bit so we compare error codes instead of value being nil