Switched from sync() to await() to avoid accidentally throwing exceptions. Added more logging of exceptions to make up for it.