Set a fine mesh sieve over a large mixing bowl. In a sauce pan, whisk together sugar, cornstarch, cocoa and salt. Slowly whisk in the milk, then the yolks. Turn on the burner to medium heat.
Cook slowly, whisking constantly, until the mixture is thick like mayonnaise (about 7-8 minutes) Whisk one more minute. Remove from heat and pour through the seive, pressing through with a spatula. Add the butter, vanilla and chopped chocolate and stir until complately combined.
Divide into ramekins, or, if preferred, a smaller bowl that comfortably holds the pudding.
Press plastic wrap directly against the top of the pudding and refrigerate for 2 hours or overnight