The extra newline before classes is required by the `flake8` tool in its default settings, which is what I am using to review Python style for this script.  If you tell me this is not your enforced style, then I will change it.  However, if you do not have any enforced style, please allow me to keep it and suggest flake8 defaults as the style standard.