why cant they just switch the priorities around? switch the dependencies around? such that the overarching goal is to never [any of the things op listed], and providing the first condition is met, perform the task requested. simple, no?
Confederate