added decentralised registrar class that standardises joining and leaving