Preheat the oven to 350°F. Butter a 9-inch-square cake pan.
In the bowl of an electric mixer, or in a large bowl beating by hand, combine the butter and brown sugar and beat until light and fluffy. Add the molasses, and continue to beat until well combined.
Sift the flour with the ginger, cinnamon, cloves and allspice.
Alternately add the eggs and flour to the butter mixture, beating very well after each addition.
Add the orange juice and zest, and continue beating for several minutes until the batter is smooth and light.
Pour the batter into the prepared pan and bake for 35 to 45 minutes, or until a wooden skewer inserted in the center comes out clean. Set the cake on a rack to cool completely in the pan before slicing.
To make the Fairy Butter, mash the egg yolks with the orange-flower water. Add the sugar, and mix to a smooth paste. Work in the butter until the mixture is smooth, and set aside in a cool place for 2 to 3 hours. Press the butter through a strainer into a small serving bowl. Store in an airtight container in the refrigerator for up to 3 days.
Serve squares of the cake spread with Fairy Butter, if desired.