Preheat the oven to 180C/350F and line a 12 hole muffin pan with liners, or spray with cooking spray.
Make the streusel topping: place the butter, sugar, flour, oats, cinnamon and ginger into a medium sized bowl and use your fingers (or a pastry cutter) to rub/cut the butter into the flour mix. Continue until you have a coarse breadcrumb texture with some larger lumps. Leave to one side.
Place the flour, baking powder, bicarbonate of soda, salt, spices, sugar and chocolate chips into a large bowl. Stir briefly to coat all of the chocolate chips in the flour. Make sure there are no large lumps of sugar or flour.
Add in the eggs, cooled melted butter and pumpkin and mix until everything comes together. Don't beat too hard otherwise your muffins will be rubbery. Just mix until there are no lumps of flour and everything is combined.
Divide the batter between your liners - I placed 3tbsp of batter into each liner. Press 1tbsp of streusel topping gently into the top of each muffin and then place in the oven for 18-22 minutes, until risen and an inserted skewer into the centre comes out clean.
Leave the muffins to cool for 15 minutes in the pan and then transfer onto a wire rack to cool completely before storing in an airtight container at room temperature for 5 days. You can enjoy these muffins warm or at room temperature. I like to microwave a muffin for 30 seconds, slice it in half and then put some butter on it - delicious!
You can also make a glaze for these - place 1/4 cup (60g) of icing/powdered sugar into a small bowl and add water, 1tsp at a time, whisking between each addition, until you have a smooth glaze which will hold on the top of the muffin, but will drizzle off the end of a spoon. The muffins will keep for longer without the glaze.
NOTE: If you have any leftover streusel topping, place it on a small baking tray and bake for 10-15 minutes until crisp and lightly golden. You can eat it by the handful, add it to yoghurt... it tastes great alone!