Add ability to block by acquiring and releasing a unique token

Needs a class comment to explain what it is useful for, how it should be used.