! Refactor AsyncReads, add probing macros