In a medium saucepan over medium heat, melt the butter
Once melted, add the water and bring the mixture up to a roaring boil
After its boiled for a minute, add the sugar and flour. Stir mixture over the heat until the flour has absorbed all of the liquid.
Remove from the heat and transfer the batter into a bowl. Allow the mixture to cool for 10 minutes.
In another bowl, whisk all 4 eggs
Pour a bit of the egg mixture into the dough and stir thoroughly. Repeat until all the eggs are mixed it and the batter has come together to form a dough.
Spoon the dough into a piping bag with the tip snipped off. Make sure the hole is big enough for you to dip the cream puff shells.
On a light metal cookie sheet lined with parchment paper, squeeze your cream puff shell batter into your desired size and shape. Be aware, larger puff shells will take longer to cook and tiny puff shells will cook quicker.
Bake for 25-30 minutes until the puffs are slightly golden. Allow them to cool fully before filling.
Filling
In a mixing bowl with a hand mixer or in a standing mixer, add the cream, sugar and vanilla. Mix until combined and then slowly increase the speed of your mixer until you are on high speed. Whip until you reach stiff peak.
Glaze
In a microwave safe bowl combine chocolate and butter. Microwave for 30 seconds. Stir thoroughly. Repeat. After you microwaved the second time, mix the chocolate until it is fully melted. The bowl has retained heat from the microwave and will continue to warm up your chocolate as you stir. You should not need to microwave for a third time.
Add the milk to the mixture and stir until smooth
Assemble
Add a Wilton 6 or 6B to a piping bag. Spoon the filling into the bag. Puncture each puff with the tip and squeeze the filling inside. Once the filling starts to push back out of the whole, it is filled. Be careful not of overfill and break your shell.
Once the puffs are all filled, dip the top of each puff into the glaze.
Place the puffs in an airtight container in the fridge to set and remove when you are ready to serve.