if you want to make an async receiver for the sio fifo - in the async task, you store the waker somewhere - you register the SIO irq as a normal interrupt handler (NOT as a dispatcher) - in the interrupt handler, you wake the waker you stored earlier