Start by making the pastry, if making your own. Do this by adding the flour and butter to a large bowl and rub together with your fingertips until roughly combined. You do not want to take it as far as breadcrumbs, there should still be bits of butter visible in places. Add the water and make into a ball. Wrap and chill for 30 mins, while making your mac and cheese.
Make the mac and cheese by adding the pasta to a pot of boiling water (cook until al dente). Add the butter to a large fryin pan on medium heat. Once melted, add the flour and whisk for about a minute.
Gradually pour in the warm milk - a little at a time, whisking constantly to form a roux. There shouldn't be any lumps. If there are, simply keep whisking.
Add salt, pepper, garlic powder, onion powder, mustard and all the cheese. Stir together and remove from the heat. Once the pasta is cooked, remove and drain it before adding it to the cheesy mixture and stirring together. Let cool before using.
Remove the pastry from the fridge, roll in one direction to form a long rectangle. Fold the top edge down to just below the middle. Then fold the bottom edge over this, to form a square with 3 layers (book end). Rotate this block 90 Degrees and repeat. Wrap and chill for another 20 minutes, whilst the mac and cheese is also cooling.
Preheat the oven to 220C/200C Fan/Gas 7. Line two/three large baking trays.
Roll the pastry into a large rectangle, about 18×4 inches. Spread the pasta filling across the long edge, in a cylinder/log shape. Leave about an inch of pastry to one side, and more room on the other side.
Take the edge of the pastry and roll it over the filling, keeping it as tight as possible. Keep rolling the pastry until you reach the end and have a log of pastry with the filling all inside.
Cut the pastry log into about 12 sections, each about 1.5 inches long. Place on baking sheets, at least 2 inches apart.
Optional: brush over a little beaten egg/ milk on each piece. Sprinkle over extra herbs and some pepper. Score some small diagonal lines in each to allow air to escape.
Bake for 20 minutes, until the tops are golden brown. If any filling spills out, wait a few minutes once out of the oven before using the back of a spoon to push the filling back into the pastry. Serve still warm or let cool before boxing up to take to a picnic/bbq/lunch box!