I also started implementing it, so after you've released your version, I've created a
PR with various refactoring bits (Lyall's code was rather inconsistent in terms of indentation, and overloaded with nesting). Check it out; I'll probably do more refactoring as the code has large repeating portions (see for instance onClickEncryptionDecryptAll and saveChanges), but I think the current PR already makes it much more tidy and easy to read.