My mistake, sorry. I renamed the app class from 'MatCopyApp' to 'MatCloneApp'. The old class name was still in the global namespace when I tested, so it didn't produce an error. I should 'Reinitialize Python' before final testing to avoid this kind of thing. Here's a new version. One change in line 577.