In a medium saucepan, combine the milk, butter, flour, cacao powder, maple syrup/sugar, and vanilla extract.
Use a whisk to stir as the mixture gradually heats up on low heat. Whisk continually until the mixture starts to thicken.
Remove 1/2 C. of the mixture to temper into the beaten eggs until well blended; gradually pour the mixture back into the pot and whisk continually over low heat until the eggs are well combined.
Continue to whisk a minute or two longer as the mixture continues to thicken on low heat. Add vanilla extract (optional).
Remove from the heat and allow to cool before serving.
Any unserved pudding can be refrigerated in a covered dish and is best enjoyed within 72 hours.