code: @NonNull
      public AsyncTaskTokenController attachAsyncTaskTokenController(@NonNull Button button) {
          if (mAsyncTaskController == null) {
              mAsyncTaskController = new AsyncTaskTokenController(
                      button,
                      mCardInputWidget,
                      mContext,
                      mErrorDialogHandler,
                      mListViewController,
                      mProgressDialogController);
          }
          return mAsyncTaskController;
      }
docs: Attach a listener that creates a token using the {@link android.os.AsyncTask}-based method.
  Only gets attached once, unless you call {@link #clearReferences()}.
  
  @param button a button that, when clicked, gets a token.
  @return a reference to the {@link AsyncTaskTokenController}