Fix lockup problems by running everythign async