Pour warm water in a small container. Add the yeast and a pinch of sugar. Stir and let activate for 10-15 minutes. The yeast is ready to be used once a foam cap is formed on the surface.
Whisk together the flour, salt and sugar in the bowl of stand mixer fitted with a dough hook. Add the rest of the ingredients except yeast. Mix the ingredients on low speed for about 1 minute, until the ingredients are somewhat mixed together.
Add the yeast mixture and mix on medium speed for about 10 minutes, until the dough gathers into a ball and is soft and silky smooth. If doing by hand, follow the same sequence and knead in a bowl for about 10 minutes or so.
Cover the bowl with a plastic wrap and let rise in warm place for about 1 hour and a half, until the dough about doubled in size. A cold oven with the light on is an ideal environment for dough fermentation.
Cut the dough into 8 pieces and form balls. Place the balls seam side down on a parchment paper lined baking sheet and cover with plastic to prevent drying. Proof for about 30 minutes in a warm room. The balls will increase in size by about 50% or so. If not, let them proof longer.
Preheat the oven to 400F.
Prepare the egg wash by whisking one egg yolk with one teaspoon of heavy cream or milk. Remove the plastic wrap, score the buns, if desired, brush the egg yolk over each bun, sprinkle sesame seeds and/or poppy seeds.
Bake at 400F for about 30 minutes, until the tops a deep golden brown.