refactors all the ugly "pendingX" atomic operations into a single "Event" subsystem/interface thing with two operations moves all existing code to use this instead also changes the "bkpt" macro to also indicate unreachable code