While cake is baking, in a saucepan, combine butter, brown sugar, and milk. Cook and stir over medium heat for 3 to 5 minutes. Remove from heat and stir in vanilla.
Remove cake layers from oven and allow cake to remain in pans as you prepare to stack and fill. Remove first layer and invert onto cake plate. Pierce cake layer with a toothpick over entire surface. Spread 1/3 of filling mixture on cake layer. Top with second layer, repeat process. Top with last layer and repeat process again.
For the frosting:
Melt butter in a saucepan over medium heat and stir in brown sugar and cream. Bring to a boil, and transfer to a mixing bowl. Add confectioners' sugar and vanilla. Beat with a handheld electric mixer until it reaches a spreading consistency. At this time it may be necessary to add a tablespoon of heavy cream, or more, if frosting gets too thick. Just be sure to add cream is small amounts because you can always "add to", but you can't take away. Frost cake and sprinkle top with chopped nuts, if desired.