In a medium saucepan, combine 3 cups of milk with the sugar. Heat over medium heat until the sugar dissolves and the milk is warm.
In a small bowl, mix the remaining 1 cup of milk with the cornstarch until smooth and well combined.
Slowly pour the cornstarch mixture into the warm milk, stirring continuously to prevent lumps.
Continue to cook the mixture over medium heat, stirring constantly, until it thickens to a custard-like consistency (about 5-7 minutes).
If using saffron threads, add them to the mixture and stir well.
Once thickened, remove from heat and stir in the rose water (or vanilla extract) and ground cardamom if using.
Pour the mixture into individual serving dishes or a large bowl. Let it cool to room temperature.
Refrigerate for at least 2 hours, or until completely chilled and set.
Before serving, garnish with chopped nuts and fresh or dried fruit if desired.
Enjoy your meal!