Como criar bons Value Objects em C#