Place chocolate in a bowl a small mixing bowl.
In a second mixing bowl, whisk together the sugar, cocoa, cornstarch and salt; whisk in egg yolks and 1/2 cup milk until smooth.
In a large saucepan over high heat, bring remaining 1 cup milk and 1/2 cup cream to a simmer. Pour hot milk mixture into bowl with chocolate and whisk until smooth.
Whisking constantly, slowly pour hot chocolate mixture into egg mixture until completely incorporated and cocoa is dissolved.
Return custard to saucepan. Cook, stirring constantly, over medium heat, until thickened, about 10 minutes (Mine was thick in five, at which point I reduced the heat to low and cooked it another minute or two). Do not let mixture reach a simmer. If custard begins to steam heavily, stir it, off the heat, a moment before returning it to stove top. Strain through a fine-mesh sieve. Stir in vanilla.
Lay a piece of waxed paper or parchment over the pudding and let it cool for about 30 minutes at room temperature. Transfer to refrigerator to chill.
When pudding is chilled, whip the cream until peaks form. Beat in sugar and vanilla. Layer pudding in glasses with the whipped cream.