Combine all Stage 1 ingredients in a quart mason jar or other container with a lid. Let sit 24 hours. If you need it to sit longer, just place it in the refrigerator.
Combine all Stage 2 ingredients in a mixing bowl, except the non-dairy milk. Pour in Stage 1 mixture and thoroughly combine. If the batter seems dry, add some non-dairy milk until the consistency is like cake batter.
Pour the batter into a bowl that will fit in a steamer, whether it be on the stove, in an electric pressure cooker, or in the oven. Cover with foil and secure with a tight fitting lid.
Place the covered bowl in the steamer and fill with water 2/3 up the side of the bowl. Steam for 4-5 hours at a low simmer, or 1 hour in a pressure cooker, or until none of the pudding looks gooey. Cool completely.
Store in a cool place for at least 2 weeks. When ready to serve, steam again for 2 hours (or 1/2 hour in a pressure cooker). Let sit 1/2 hour before serving.
To serve, run a knife around the edge of the pudding and invert onto a serving dish. Sprinkle with powdered sugar and serve with a caramel sauce or non-dairy ice cream, if desired.