Add ability to block by acquiring and releasing a unique token

This needs a class comment (which should at least explain what advantage this class has over MessageBox).