These methods (update_guess_metrics and update_attempts) are the same for User and Card - is it a problem that they are duplicated?