Looks like `mutex` is only initialized by calling the `test` method above? I guess the same is true for the runlock file... anyway, we should at least document this in the comments above the `def wait` line.