To make the muffins, sift the flour in a large bowl, add the baking powder, ground cinnamon, ginger, nutmeg and walnuts.
In a separate bowl, mix the sugar with eggs and oil.
Grate the carrots and squeeze out the excess liquid.
Mix all the ingredients together to get the batter - this should not be thick nor runny.
To make the filling, mix the cream cheese with vanilla extract and sugar.
Grease and flour a muffin tin, then spoon about 1 tablespoon of batter into each hole, top with 1 or 2 teaspoons of filling - we should still leave about half of the filling for later.
Cover the filling with the remaining batter, and bake the muffins in the preheated oven at 200 degrees Celsius (390 Fahrenheit) for 15-20 minutes, or until the muffins are firm to touch and golden on top.
Remove from the oven, and leave to cool.
Add the remaining cream cheese to a piping bag fitted with a small nozzle, and pipe more filling into the centre of each muffin.