1. Combine the water, sugar and orange zest in a 2-litre saucepan. Place over moderate heat, stirring to dissolve the sugar. Bring to the boil, then reduce the heat to very low and cover with a tight-fitting lid.

2. Melt the butter or ghee in a 2- or 3-litre non-stick saucepan and over fairly low heat, stirring occasionally. Add the semolina. Slowly and rhythmically stir-fry the grains until they darken to a tan colour and become aromatic (about 20 minutes). Add the walnut pieces about halfway through the roasting. Stirring more carefully, raise the heat under the grains.

3. Raise the heat under the sugar water and bring the syrup to a rolling boil.

4. Remove the saucepan of semolina and butter from the heat, slowly pouring the hot syrup into the semolina, stirring steadily. The grains may at first splutter, but will quickly cease as the liquid is absorbed.

5. Return the pan to the stove and stir steadily over low heat until the grains fully absorb the liquid, start to form into a pudding-like consistency, and pull away from the sides of the pan. Place a tight-fitting lid on the saucepan and cook over the lowest possible heat for 2 more minutes. Turn off the heat, fold in the dates and banana, and allow the halava to steam, covered, for an additional 5 minutes. Serve hot in dessert bowls as it is, or with the toppings suggested above.