Place the flour, salt, instant yeast, sugar, and cooking oil in a mixing bowl. If you are using a stand mixer, use a dough hook attachment. Gradually add in milk or water. Add more teaspoon by teaspoon until the dough comes together and knead at speed 2 for 10-12 minutes until the dough is very smooth and stretchy
Preparing the dough by hands:
Place the flour, instant yeast, sugar, and cooking oil in a mixing bowl. Mix until you get a rough dough (it's not going to be smooth yet). Cover and rest it for 15 minutes. Then go back and knead it. You'll be surprised by how easier it is to knead it now. Knead until the dough is smooth and pliable, about 15-20 minutes. At any point during kneading, you can always stop and rest the dough if you find it hard to knead. This is to relax the gluten. Then go back to knead again and you'll be surprised by the difference it makes by just resting the dough before kneading again. It's easier for you too
Divide the dough into 2:
Divide the dough into two equal portion. Add charcoal powder to the other dough and knead until the color is evenly distributed, which is black
Rest the doughs:
Cover and rest the doughs for 15 minutes. This is not to proof the dough. It shouldn't double in size. This is to relax the gluten for easier shaping and rolling the dough
Wrapping:
Place both doughs on a lightly floured surface. Roll them into long logs and then divide equally into 16 pieces of yin and 16 pieces of yang. Reserve a tiny portion of yin and yang dough (for the dots)
Work with two pieces at a time and cover the rest to prevent drying. Place both doughs next to each other and then flatten the dough with your palm and use a small rolling pin to roll into a circle about 4 inches in diameter. So half will be white and the other half will be black.
Divide the mung bean paste into 16 equal balls or you can use a cookie scoop to scoop the filling on the center of the wrapper and gather all the sides to the middle and pinch to seal. Place it on a parchment paper seam side down. Continue with the rest. Pinch a very tiny dots from the dough you reserved earlier and place one on a black portion and the other on the white portion.
Place the steamed buns on a large tray cover with a large clean towel and let them proof until they rise to about 50% original size. Do not overproof the dough
Steaming:
Bring the water in a steamer to a rolling boil. Wrap the lid with a cloth. This will prevent water dripping from the lid and too much steam will make the bao has burn spots
LOWER THE HEAT TO MEDIUM. Place the buns in there, leaving about 1-inch space in between. Cover with a lid but leaving it about 1/4-inch gap for some steam to escape. Steam on medium heat for 15 minutes. This is especially important if you see that you have overproof the steamed buns (the steamed buns have doubled in size and they have widened to the side). As long as you steam them like this, the buns will not wrinkle and collapse later when you take them out from the steamer
Turn off the heat and let the buns sit in the steamer for 1 minute and then remove from the steamer to let them cool down
Storing:
I usually made this in a big batch and store the rest by placing them in a freezer bag. They can be stored up to 1 month. Place them on a baking sheet, not touching each other. Let them freeze for about 1 hour and then transfer to zip lock bag.
They can be reheated on the steamer over medium-high for about 5 minutes and as good as new