1. In the bowl of an electric stand mixer, dissolve yeast and honey in 2 cups of warm water. Allow to stand for 5 minutes.
2. Add the egg and the egg yolk and the butter or oil, and mix well.
3. Add the salt and the flour one cup at a time, beating after each addition with the dough hook. When the dough starts to come together, turn out onto a lightly floured surface and knead with your hands. Knead until smooth and no longer sticky, adding flour as needed, but don't add too much flour: you want the dough to stay a bit moist.
4. Rinse out bowl and grease with additional melted butter or oil. Put dough in the bowl, and cover with a clean, damp cloth. Set it in a warm place to rise for 45 minutes, or until dough has doubled in bulk.
5. Punch down the dough and turn out onto floured board. Divide into three balls, knead each one briefly, then roll each into long strand. Pinch the ends of the three strands together firmly, then braid them. Form into a round braided loaf by bringing ends together, curving braid into a circle. Pinch the ends together.
6. Cover a baking sheet with parchment paper or a silicon baking mat, and (carefully!) transfer the challah to the sheet. Beat egg yolks and honey together in a small bowl and brush the challah with it, then place dough in cool oven and allow it to rise for 45 minutes.
7. Take dough out of oven and brush it with more of the egg yolk/honey glaze. Sprinkle on the sesame seeds and/or poppy seeds (Joan Nathan recommends using both, in thick alternating strips around the dough).
8. Place challah back in the oven and turn the temperature to 350 degrees F. Bake for 40-45 minutes, or until the bread has a nice hollow sound when tapped on the bottom. Cool on a rack before slicing...it's delicious when served with butter and honey.