In a large mixing bowl, combine flour, sugar, yeast, and salt.
Add softened butter, warm milk, and eggs. Mix until a dough forms.
Knead the dough on a floured surface for about 10 minutes, until smooth and elastic.
Place the dough in a greased bowl, cover, and let rise for about 1 hour, or until doubled in size.
For the topping, mix together butter, sugar, flour, and vanilla extract until smooth. If making chocolate topping, divide the mixture and add cocoa powder to one half.
Divide the dough into 12 equal pieces and shape into balls. Place on a baking sheet.
Flatten a piece of topping dough and place it on top of each dough ball. Use a knife to cut shell patterns into the topping.
Cover and let rise for another 30 minutes.
Preheat the oven to 350°F (175°C). Bake for 15-20 minutes, or until the conchas are lightly golden.
Let cool before serving. Enjoy!