Lots more dumb Python mistakes fixed; @staticmethod -> @classmethod