Keep 6 ramekins or other serving cups, of about 4~8 oz., ready.
In a medium size heavy bottomed saucepan, bring 2 cups of the milk and 3tbsp sugar to a boil.
While the milk is heating, in a large bowl, whisk the remaining 3 tbsp sugar, the egg and the egg yolks until combined. Add the remaining ¼cup of milk and mix well.
Next stir in cocoa, cornstarch, salt and whisk until well blended.
Take a ladle full of hot milk mixture and add to the egg mixture in the bowl. Whisk well and keep adding more hot milk and whisk to temper the eggs. Now, slowly pour the egg mixture back into milk mixture.
Whisk without stopping and cook the pudding over medium heat, make sure to get into the edges of the pan,until the pudding thickens, about 2 minutes. Make sure that the pudding doesn't boil too vigorously, lower the heat, if necessary.
Add the chocolate, butter and vanilla and whisk until everything is well mixed in.
Pour the pudding into the ramekins and place a piece of plastic wrap on the surface of each pudding to create an airtight seal. Refrigerate for at least 4 hours before serving.
Serve with whipped cream. Leftover puddings can be refrigerated up to 3~4 days.