Clarification on cancel behavior added. The current appshell implementations don't return an error, but other implementations _may_ return errors.