Preheat oven to 300° F.
Fill the bottom pan of a double boiler with water and bring to a boil. Pour 4 cups of milk into the top pan of your double boiler. Let this come to a boil directly on the burner.
Pour the cornmeal into the milk and mix well using a wire whisk. Remove the mixture from heat.
Place the top of the double boiler over the bottom pan. Cook the cornmeal mixture for about 20 minutes, mixing often. Remove from heat.
Using a fork, whip an egg until it is a pale yellow and frothy. Add it to the cornmeal mixture, along with the molasses, milk, salt, ginger, and cinnamon. Finally mix in the other ingredients into the cornmeal mixture.
Empty the contents into a well-oiled 1 1/2 quart baking pan and bake for two hours.