new entities API
validate uniqueness of [Contact,Address,Email,Phone]Types, refactor to trait