Move validate and parseInput to Achievement model