Split out into 1 file per class, make Card/Deck immutable