Add ability to block by acquiring and releasing a unique token

Looks like you've changed this file from tab to space indentation? That's probably not good.