Preheat oven to 375°F. Spray a 9x13 pan with nonstick cooking.
Whisk cinnamon filling ingredients in a small bowl. Set aside.
Place streusel ingredients in a medium bowl and stir with a fork until combined (will look like wet sand). Set aside.
Whisk flour, baking powder, and salt in a small bowl. Set aside.
Mix melted butter and sugar in a large bowl with a hand mixer at medium speed. Mixture will be grainy. Mix in egg and vanilla. Stir in milk, then stir in flour mixture until just mixed.
Spread half of cake batter in prepared pan. Sprinkle with cinnamon filling. Top with remaining cake batter. Sprinkle with streusel topping.
Bake for 30-35 minutes, or until a toothpick comes out clean. It cuts best when completely cooled, but you can serve it warm. Store in an airtight container for up to 3 days. Cooled cake can be sliced and placed in an airtight container and frozen for up to 1 month.
You can substitute vegetable oil for the butter in the cake batter but I do not recommend it in the topping.
You can also mix the cake by hand with a whisk.
I recommend using room temperature eggs if you remember to take them out of the refrigerator.
You can also make this with nonfat, 2% or nondairy milk. I recommend whole milk. If you're using nondairy milk use a higher fat one. More fat in the milk makes a more moist cake.