basically blocking is good if: * you can handle it immediately (no locks or other async fns) * you are just spawning an async task that immediately pass/fails it's not great if you need to do some async stuff for RPC commands