1. Combine all the dough ingredients — by hand, mixer, or bread machine — mixing and kneading to make a soft, sticky dough, adding more flour or water if necessary.

  2. Allow the dough to rise, covered, for 1 1/2 to 2 hours, or until it's puffy.

  3. To prepare the topping: Meanwhile, in a medium bowl, combine the first four topping ingredients until fully incorporated. Set aside.

  4. To assemble the loaf: Turn the dough out onto a lightly greased work surface and cut it into about 24 small to medium (1" to 2") pieces.

  5. Roll the dough pieces into balls, dip them into the melted butter, and toss them with the topping mixture.

  6. Place the coated balls into a well-greased pull-apart bun pan, 12-cup bundt-style pan, or monkey bread tube pan. You'll be able to get the balls into a single layer in the pull-apart bun pan, but you'll want to layer them in the bundt or tube pan. Drizzle any unused melted butter over the dough and sprinkle with any excess topping.

  7. Cover the pan and allow the dough to rise until quite puffy, about 1 hour.

  8. Toward the end of the rise, preheat the oven to 350°F.

  9. Bake the bread for 32 to 36 minutes, until golden brown; a digital thermometer inserted into the center will read at least 190°F. If the top appears to be browning too quickly, tent the bread with foil after about 20 minutes of baking.

  10. Remove the bread from the oven. Immediately and carefully turn the bread out onto a serving plate.

  11. To make the icing: Combine all the ingredients until smooth. Spread or drizzle the icing over the warm bread. Serve warm or at room temperature.

  12. Store any leftover bread, covered, at room temperature for up to 3 days.