Add strongly typed UserCanceled exception
Teach checkout to report notifications