refactor claim() into claim() and revoke()

Where revoke() is the underlying operation.