1: Preheat the oven to 350°F (175°C).
2: In a bowl, cream together the softened butter and sugar until light and fluffy.
3: Add vanilla and egg, mixing until well combined.
4: In another bowl, combine flour, baking powder, and salt. Gradually add this to the butter mixture, alternating with milk.
5: In a separate bowl, mix filling ingredients: butter, cinnamon, flour, and brown sugar.
6: In another bowl, combine topping ingredients: butter, flour, brown sugar, and cinnamon.
7: Pour the cake batter into a prepared baking dish, layer filling on top, and sprinkle with the topping.
8: Bake in the preheated oven for about 30 minutes or until a toothpick inserted comes out clean.