Pre-heat the oven to 170C and line a 2lb loaf tin.
Weigh out your dry ingredients and spices into a large mixing bowl.
Place the water, treacle, golden syrup, sugar and butter into a saucepan and place on a low-medium heat. Warm the mixture gently until the sugar and butter have dissolved and formed a sticky syrup.
Stir the syrup into the dry ingredients and beat well until smooth.
Allow the mix to cool slightly if it hasn't already done so and begin to beat in the egg and milk.
Finally stir in the stem ginger before pouring the cake mix into the lined loaf tin.
Place low in your oven (so that the top of the loaf tin is in the centre of the oven) and bake for 1hr 15mins - 1hr 30mins or until the cake is risen and springy to the touch.
Allow the cake to cool in the tin for 5 minutes before removing.
Store the cake in its liner until you are ready to decorate (best done on the day of serving).
To make the icing, beat the butter with an electric mixer until light, smooth and fluffy. Add the cream cheese and vanilla and beat until well incorporated.
Still beating, add the icing sugar a little at a time along with the cinnamon.
Beat well until the icing is smooth and light.
Spread the icing over the top of the cake and decorate with diced or thinly sliced pieces of stem ginger (optional).