In a saucepan, heat milk until boil. Turn off the heat. Whisk in cocoa powder until smooth and well incorporated. Set aside to cool.
Grease an 8-inch/20 cm round pan and line the bottom and the side with parchment paper.
In a medium bowl, combine all-purpose flour, baking powder, baking soda, and salt. Set aside.
Using a handheld or stand mixer fitted with a paddle or whisk attachment, cream butter and sugar until pale and fluffy. Beat in eggs, and vanilla extract until incorporated.
With a spatula, fold dry ingredients to the batter until well incorporated. Add the cooled cocoa powder-milk mixture into the batter and mix until well combined. Set aside as you prepare the cream cheese filling.
Cream Cheese Filling
Using a handheld or stand mixer fitted with a paddle or whisk attachment, beat the cream cheese for 2-3 minutes until soft and creamy. Add egg, granulated sugar, and vanilla extract until well combined.
Assemble
Preheat the steamer by bringing the water in the steamer to a boil over medium-high heat. Cover the lid with a kitchen towel to catch the condensation.
Gradually pour half of the chocolate cake batter into the prepared pan. Gently tap the pan to remove any air bubbles. Put the pan into the steamer and cook for 20 minutes or until the top is dry enough to hold the cream cheese filling.
Pour the cream cheese filling evenly onto the first layer of chocolate cake. Cook for 15 minutes.
Pour the remaining chocolate cake batter onto the cream cheese filling and cook for 30 minutes or until a toothpick inserted into the cake comes out clean. Turn off the heat and allow to cool for 2 hours inside the pan. Remove from the pan and let it cool completely on a wire rack.
Chocolate Ganache
Heat heavy cream just until it is hot. Add chopped chocolate and mix until the mixture is smooth and well combined. Allow it cool completely for 10-15 minutes. Cover the cake with chocolate ganache. Garnish with optional toppings, then slice and serve.