Preheat the oven to 350° F. Line a 8.5x4.5" loaf pan with parchment paper. Lightly spray with nonstick. Set aside. Prepare the streusel. Mix together melted butter and remaining ingredients with a fork. Break it apart and crumble it. Set aside.
In a large bowl, whisk together the flour, baking soda, cinnamon, all spice, nutmeg, ginger, and salt.
In a separate bowl, combine the remaining ingredients. Use a hand mixer to mix all ingredients together just until smooth and mixed.
Fold the wet and dry ingredients together using a spatula. Folding instead of mixing with an electric mixer will prevent the batter from being over mixed.
Pour the batter into your prepared loaf pan. Top with an even layer of broken up streusel topping. Bake for about 50 minutes, until a toothpick comes out with moist crumbs on it. Do not overbake. Let it begin to cool in the pan for a few minutes, then transfer to a cooling rack.
While the bread begins to cool, prepare the glaze. Heat up butter in a sauce pan on the stove. Wait for it to turn golden brown, then add the brown sugar, cream, maple syrup, salt, and vanilla. Heat at a small simmer for about 2-3 minutes.
Remove from the heat and add powdered sugar. Whisk vigorously. If clumps of powdered sugar still remain, you can put it back on the heat, stirring continuously, until the lumps melt and you have a smooth, silky glaze. The mixture will thicken as it cools, but if it seems too runny, you may add more powdered sugar. If it seems to thick, you may add more cream.
Drizzle on top of the loaf immediately. The mixture will thicken and harden quickly. Wait for it to cool, then slice and serve.
Wrap up and store at room temperature or in the fridge for 3-5 days. Freeze for up to 2 months.