Update according to Sage's review comments:
  1. Make reg/unreg functions symmetric, remove PG primary check off the methods and add an assertion making sure
     only being called from primary PG.
  2. Doing reg/unreg only for primary PGs, this includes the corresponding reg/unreg when the PG undergo a role change.