Kind of messed this one up

Trying to have it so the I2C interface will use an event handler. But I
want the function it to perform in the event to be variable, dependent
on which device it's been waiting for. And once it requests data, it
shouldn't allow other devices that use I2C to use it for the duration.
added event monitoring system

does not work however.