@Grino

Due value object sono uguali non perchè sono la stessa istanza ma perchè il loro valore è lo stesso. Tutto quel casino che praticamente è un singleton mi sembra "fuori pattern".