public async Task<PaymentMethodNonce> TokenizeAsync(CardBuilder card)
{
var actionListener = new PaymentMethodNonceListener();
try
{
AddListener(actionListener);
Card.Tokenize(this, card);
return await actionListener.Task();
}
// There is no catch statements here. Exception handling must be done by caller.
finally
{
RemoveListener(actionListener);
}
}