refaktoroitu logiikan luokkia ja tehty testejä erityisesti equals -ja hashcode-metodeille