* ***
Whether these events are generated by polling, interrupts, or dma does not matter. The state machine is agnostic to clock stretching and timing details.
This library encapsulates the state machine for handling smbus requests on the module ("slave") side. The only requirements on the hardware driver/implementation is that they generate these events: