Roughly chop up the chocolate and set aside. I like to use both, milk and dark, but you could go with either/or (if you're doing all dark, you may need to add about 1 tbsp of brown sugar to balance it out).
In a small saucepan, add the cornstarch.
Gradually stir in the milk, making sure there are no lumps of cornstarch
Add the instant espresso powder (cinnamon/orange zest if using).
Place the saucepan over slow-medium heat and cook gently till the mixture begins to boil, about 5 minutes. Make sure to stir, scraping the bottom to prevent the milk and cornstarch from scorching the pan.
Remove the pan from the heat and add in the chocolate. Let the mixture sit for 30 seconds, then stir with a whisk till the mixture is more or less homogeneous. At this stage, you can cover the surface of the hot chocolate with cling wrap and store in the refrigerator over night or until ready to use. I find the longer the chocolate mixture sets, the richer the flavor (at this stage, you can add the Nutella/Bailey's if using).
To serve, place the mixture back onto the stove top and cook over low heat for 5-10 minutes, stirring constantly till you have attained your desired thickness and heat level. If you find that the hot chocolate is too thick for your liking, just add some more milk. The richer the chocolate, the smaller the portion size you'll have to account for.