`isUserNameAvailable` is only used in one place. This function should be adjusted to just work with a required callback function and no longer return the `available`.

We should also add some documentation that explains why this function has to be synchronous.

This should be changed in the register widget as well.