Preheat the oven to 180C (350F). Grease and line three 20cm | 8in layers cake tins - or spray with cake release. You can also use three 15cm | 6in cake tins – your cake layers will be taller.
Sift all the dry ingredients and add them to the bowl of a stand mixer fitted with the paddle attachment. Mix on low speed to combine.
Add the cubed butter and mix for a couple of minutes until the mixture resembles breadcrumbs / sand.
Add the eggs, one by one, mixing well after each addition. Mix in the treacle.
Add the milk, orange or lemon juice, vanilla extract and zest and beat together. Stop and scrape the bottom and sides of the mixing bowl. Continue mixing for a couple of minutes until batter is smooth.
Fold the chopped ginger into the batter and divide between the prepared cake tins.
Bake for 20-25 minutes until a skewer inserted in the centre comes out clean. Cool completely before frosting.
Make the frosting. Whip the double cream and icing sugar (using your stand mixer) till you have soft peaks. Transfer to another bowl.
Place the cream cheese and ground cinnamon in the bowl of your stand mixer and whip until soft and fluffy. Slowly add the whipped cream and whip together briefly until combined. Don't whip for too long.
Add a generous amount of frosting on your bottom cake layer and smooth. Top with the second layer and repeat. Add the third layer and then smooth some frosting over the top and sides of the cake. You can leave the cake showing through to achieve the 'naked' cake look or do a crumb coat then chill the cake. Add another layer of frosting and smooth over the cake.
Top with meringue kisses or gingerbread cookies.