In a saucepan, add 2 cup milk, sugar, orange peel, and bring to a boil for one minute while stirring.
Mix the cornstarch with ½ cup milk. Add the cornstarch mix to the boiling milk and keep stirring for one minute to one minute and a half.
Strain the mixture through a mesh strainer and discard the orange peel.
In a bowl beat the egg yolks. Temper the egg yolks by adding a tablespoon from the hot milk mixture to it and beat the egg quickly to avoid it from cooking, repeat this step two more times.
Pour the tempered egg in the milk and cornstarch mixture and cook over medium heat while stirring. Let it boil for 1 and a half minute.
Strain the mixture again using a mesh strainer, and discard any lumps. Add the butter and vanilla to the hot pudding and mix until the butter melts.
Pour the orange pudding in the serving bowls and let it come to room temperature, then place it in the fridge to firm.