Preheat oven to 170°C (340°F). Generously grease a 12-cup bundt pan with softened butter (not melted), using paper towels. Be sure to grease the entire surface inside of the pan, including around the tube in the middle. Optional - For easier cake removal, dust the greased pan with cocoa powder, then tap out any excess.
Combine all the dry ingredients in a large bowl and set aside.
With a stand or handheld mixer using the paddle attachment, beat the butter, caster and brown sugar on medium-high speed until pale and creamy (about 2–3 minutes). Scrape the sides and base of the bowl, then add in molasses, fresh ginger, orange zest and one egg. Mix on a medium-low speed until combined; then, add the remaining eggs one at a time, mixing well in between. Don't worry if the mixture looks grainy or separated at this stage.
Reduce mixer speed to low, then add a third of the dry ingredients (flour mix) and mix until incorporated. Pour in half the milk and mix until combined, then add another third of the flour mix. Repeat this step to incorporate all the milk and flour into the batter. Mix just until the dry ingredients are no longer visible, but avoiding over mixing the batter.
Spoon the batter into a prepared pan, and bake for 45 to 55 minutes or until a skewer comes out clean when inserted into the middle of the cake. Let the cake cool in the pan on a rack for 15–20 minutes before removing it. Let the cake to cool completely at room temperature before frosting.
FOR THE FROSTING - Cream together the butter and cream cheese using a handheld or stand mixer on medium-high speed for 2 minutes, then gradually incorporate the icing sugar. Mix until glossy and the sugar has dissolved, then mix in the vanilla extract and 1 tsp of milk. The frosting should be thick but runs slowly off a spatula. If the frosting is too thin mix in more icing sugar, or if it's too thick mix in a tiny amount of milk until you get the right consistency.