is there a reason not to just use a fail event or something?