ModelBase introduced to provide unified  __eq__ and __hash__