Updates to the SPI interface to provide a nicer async interface