Implement isEqual, hash and uniqueKey