Introduce Registrar and TranRegistrations to remove possibility of certain errors and remove the need for users to use their own bool variable for preventing registration method being called more than once.