Preheat the oven to 350°. Grease cookie sheets or line them with parchment paper. In a bowl, mix together the flour, baking powder, and salt. Cream together the sugar and shortening.
Add the egg and vanilla and combine well. Add in the remaining ingredients, alternating between the flour mixture and milk, starting and ending with the flour mixture and making sure all of the ingredients are well incorporated. The dough will be soft. Divide the dough into four even pieces, wrap each in plastic wrap, and refrigerate until ready to use.
To make the filling, either process the nuts through a food processor until finely chopped (just a smidge larger than all-out ground), or chop by hand. The smaller the pieces, the better.
Combine the chopped nuts with the sugar and then add in the melted butter. Mix well, making sure there are no large clumps. Add the egg whites and again, mix well.
On a well-floured surface, roll out a piece of dough into a rectangle measuring about 6 inches by 18 inches. Spread ¼ of the nut filling onto the dough, leaving a small border around the perimeter of the dough. Roll up as you would a jelly roll, with the short ends to the left and right of you, and seal the ends.
Cut the roll into 1-inch pieces and place on the cookie sheet. Bake for 15-20 minutes or until the tops are just slightly starting to turn brown. Cool completely. Repeat with the remaining pieces of dough and remaining filling.
Once the cookies are cooled, prepare the icing by mixing together the powdered sugar, vanilla, and enough milk to achieve the desired consistency. You’ll want the icing to be thick enough to not be runny, but still easily spreadable. Ice the tops of the cookies and let set completely before storing in an airtight container.