To a small saucepan, add the cornstarch, salt and espresso powder (if using). Whisk to combine. Slowly whisk in 2 tablespoons of the milk to make sure the cornstarch is mixed in. Then gradually whisk in 2½ cups of milk (add a little more if you don't like it so rich). The mixture should be smooth with no lumps. Turn on the heat, and bring the milk to a simmer, stirring slowly but constantly. When bubbles begin to appear on the surface, remove the pan from the heat and add the chopped chocolate. Let the mixture sit for about 30 seconds, then, using a whisk, stir the chocolate mixture until completely smooth. This is the base.
When you're ready to serve, place the pan on low heat and let the chocolate mixture slowly warm up until bubbles begin to appear around the edges. At this point, switch off the heat. Pour the hot chocolate into serving glasses and enjoy with whipped cream and/or marshmallows.
Notes
You can either store this covered in the fridge for a day or two, or you can serve it immediately.