Beat the butter and sugar until light and fluffy. Sift the flour and ginger together and add to the butter/sugar mixture, folding in with a spoon. Transfer the mixture (it will be stiff and a bit sticky) to a greased slice tray, approx 30cm x 25cm. Press mixture evenly to cover the base of the tray, using liberally-floured fingers. Bake at 325° for about 15 minutes (it will rise initially then sink when it is almost cooked - don't allow to brown, it should actually be a bit soft but dry when you take it from the oven).
While the base is cooking, put all the topping ingredients together (lemon juice is optional but gives a nice tang) in a small saucepan and heat slowly until the topping is smooth and runny - do NOT allow to boil. Allow the base to cool for just a minute or so after being removed from the oven, then pour the topping onto the base while both are still hot, and spread the topping evenly with the back of a spoon, right to the edges of the base.
Once the icing is firm but still slightly warm, cut into the size squares desired, remove from tray and allow to cool completely on a cake rack before storing.
Variation While icing is still warm, lightly mark into the size square you desire and press a walnut or almond in the centre of each square.