Convert Identity to Allow Callbacks

This fixes a race condition in `Client.identify`.