Heat the milk to just below boiling point and then let it cool down completely. Give it at least an hour to cool.
Measure the flour into a big bowl and make a well in it. Add the sugar and the yeast and pour over the milk. Flick flour on top of the well to close it and let it sit for an hour or so until foam breaks through the surface of the flour.
Crack the eggs into the well and sprinkle the salt and the anise (if using) around the edges of the well and begin to bring the dough together. Knead it well for 10 minutes whether by hand or machine (always on low and with the dough hook) and then add the butter.
Knead again for 10 minutes by machine and 10-30 minutes by hand. If you are kneading by hand, the butter will melt, you will panic, a lake of dough will form on the counter of in the bowl but don’t worry – just keep going. The flour will absorb all the butter and the dough will turn into a golden yellow blob of extreme stretchiness that resembles chewing gum. If you use one hand to knead and one hand to scrape the mess off the table and back into a ball of dough you may find it easier.
Put the dough back in the bowl, cover it with cling film and let it sit on the counter for around 6 hours or until it has at least doubled in size. Alternatively, you can cover it tightly and pop it in the fridge for 12 – 24 hours. This will make a slightly tougher, sturdier bun but it will still be delicious and the buns will be easier to shape.
Once you have made the dough, make the topping. Measure the flour and the sugar into a bowl and mix them well. Add the butter and, with your finger tips, make crumbs. Add the water and then bring the mixture together into a pastry type dough. Don’t over work it. Cover and pop in the fridge until you are ready to use it.