In a bowl, combine sugar, cornstarch, coffee and salt; whisk well and set aside.
In another bowl, whisk yolks and vanilla extract; set aside.
In a saucepan over medium heat add milk. Using a sieve, sift cornstarch mixture into the milk and then stir until the mixture is smooth and warmed.
When it starts to simmer, temper the eggs by adding a little milk mixture at a time, whisking constantly. Pour tempered egg mixture into the saucepan and whisk constantly.
Add chopped chocolate, reduce the heat to medium-low and stir constantly until melted, about 3 minutes or until smooth and thick.
Remove from the heat and add butter; stir until blended.
Place some wax paper on top making sure it touches the surface to prevent a skin from forming. Let the pudding cool off, about 30 minutes.
DULCE de LECHE PUDDING
In a large saucepan with water boiling, add the sweetened condensed milk can. Reduce the heat to medium and simmer for 2:30 hours making sure there’s always water covering the can.
Remove from the water and allow the dulce de leche to cool, about 45 minutes.
In a medium saucepan over medium heat, add cooled dulce de leche, milk and heavy cream. Using a fine sieve, add ¼ cup cornstarch and sift into the mixture. Stir very well until dulce de leche is incorporated and the mixture is warm.
In a bowl, whisk egg yolks and pure vanilla extract; set aside.
When dulce mixture is warm, temper the eggs by adding a little milk mixture at a time, whisking constantly. Pour in tempered egg mixture into the saucepan and whisk constantly until the mixture thickens and becomes pudding.
Remove from the heat, place wax paper on top making sure it touches the surface and cool at room temperature for 30 minutes.
PARFAIT
To assemble, spoon a layer of chocolate pudding and alternate with dulce de leche pudding into a tall dessert cup. Finish with chocolate pudding.
Add a dollop of dulce de leche pudding in the center and garnish with coffee beans or a chocolate heart.