1) Preheat the oven to 350°F. Lightly grease a 9" x 13" pan.
2) To make the streusel: In a large bowl, beat together all of the streusel ingredients until even crumbs form. Scoop the mixture into a smaller bowl, and set it aside.
3) To make the batter: In the same bowl in which you've just made the streusel (you can use a different bowl if you want, but this saves on washing dishes), beat together the butter and brown sugar until smooth.
4) Beat in the eggs one at a time, scraping the bowl and again beating until smooth. The mixture may look slightly curdled; that's OK.
5) Beat in the sour cream or yogurt, extracts, baking powder, baking soda, salt, and flour. The batter will be fairly stiff.
6) Scoop the batter into the prepared pan, smoothing it to the edges.
7) Stir the cranberry sauce to break up any clumps, and spread it atop the cake.
8) Sprinkle the streusel evenly atop the cake.
9) Bake the cake for 40 to 45 minutes, until a cake tester inserted into the center comes out clean.
10) Remove it from oven, and cool for 30 minutes before serving (or serve it hot from the oven, if you don't mind it crumbling a bit!)
Yield: 2 dozen 2" squares.