Robust implementation with async, log error