Preheat the oven to 200C/180C Fan/Gas 6. Grease a baking tray with a little butter and line with baking parchment.
For the profiteroles, in a large saucepan, heat 250ml/9fl oz water with the butter, flour and salt over a medium heat, beating well until combined.
Whisk the eggs in a separate bowl.
Using an electric whisk, whisk the contents of the saucepan while gradually pouring in the beaten eggs. Continue to whisk until the mixture is smooth and glossy and all of the eggs have been incorporated.
Dot tablespoons of the mixture onto the prepared baking tray, setting them a good 2-3cm/1-1½in apart. Bake the profiteroles in the oven for 20-25 minutes, or until puffed up and golden-brown.
Pierce the bottom of each cooked profiterole with a sharp knife to allow the steam to escape, then place onto a wire rack to cool.
Meanwhile, for the cheat’s custard, whisk the egg yolks with the caster sugar and vanilla seeds until fluffly. Gently fold in the Marsala wine and mascarpone.
Stuff each profiterole with the cheat's custard through the steam holes, using either a teaspoon or a piping bag (you may need to enlarge each hole using a sharp knife).
Arrange the stuffed profiteroles in a tall pile on a large serving plate or cake stand.
Place two heatproof bowls over two saucepans filled with a little boiling water (do not allow the bottom of the bowls to touch the water). Heat over a medium heat until each pan of water is simmering. Add the plain chocolate to one bowl and the white chocolate to the other and stir until melted.
Trickle the melted plain and white chocolate over the profiteroles, then scatter the pile with the chopped pistachios and crystallised roses and violets to decorate.