UID refactor and Equality overrides