abstracted to more robust calling @property.setters in PM.__init__