I think the naming of the object is a bit of a misnomer. I'll change that. It is more of a helper that can be specialized.

BTW the code below has been fixed in my current tree. It is meant to unlock the screen.