Using Process Groups i can ensure that i can keep the state correct, even when a lock screen fork()s. In fact, most lock screens which do fork, will not exit their first PID after the lock is grabbed, so this can be used as an indicator on when the screen has been successfully locked.