Got rid of (almost) all the ugly self.__dict__[name] = value line noise.