`unlock` is now asynchronous.

Closes #32.