Add join/leave hub functionality