docs: public void createNewUser(String username, String password, String email, String displayName, Map extraInfo, final KickflipCallback cb) {
          GenericData data = new GenericData();
          if (username != null) {
              data.put("username", username);
          }
  
          final String finalPassword;
          if (password != null) {
              finalPassword = password;
          } else {
              finalPassword = generateRandomPassword();
          }
          data.put("password", finalPassword);
  
          if (displayName != null) {
              data.put("display_name", displayName);
          }
          if (email != null) {
              data.put("email", email);
          }
          if (extraInfo != null) {
              data.put("extra_info", new Gson().toJson(extraInfo));
          }
  
          post(NEW_USER, new UrlEncodedContent(data), User.class, new KickflipCallback() {
              @Override
              public void onSuccess(final Response response) {
                  if (VERBOSE)
                      Log.i(TAG, "createNewUser response: " + response);
                  storeNewUserResponse((User) response, finalPassword);
                  postResponseToCallback(cb, response);
              }
  
              @Override
              public void onError(final KickflipException error) {
                  Log.w(TAG, "createNewUser Error: " + error);
                  postExceptionToCallback(cb, error);
              }
          });
      }