refactored register.py to no longer have a set_xxx method per property