macros for "easy" asynchronous function calls