Preheat the oven to 350°F. Line a cupcake tin with liners.
Mix together the flour, baking soda, ginger, cinnamon, cloves, nutmeg, pepper, and sea salt in a medium bowl. Set aside.
Beat together the butter and brown sugar for about 4 - 5 minutes on medium-high speed until light and fluffy.
Add in the molasses and egg and beat for another 2 - 4 minutes on medium-high speed.
Alternate between adding the flour (in three additions) and the milk (in two additions). Begin and end with the flour. Mix just until the flour is fully incorporated.
Divide the batter evenly among the cupcake liners. Fill the liners ⅔ full. It is very important that you do not try and use up all the batter and overfill the liners. You may have just enough batter for a 13th or even 14th cupcake.
Bake for 15 - 18 minutes, or until a toothpick comes out clean. Allow to cool.
Make the frosting while the cupcakes are baking.
Add the butter to a skillet and cook until the butter begins to brown and smells nutty.
Transfer to a bowl, be sure to scrape the caramelized milk solids from the bottom.
Place the butter in the freezer until the butter is mostly solidified, but there may be some liquid butter.
Beat the butter and cream cheese until it is smooth. Add the powdered sugar a little at a time until fully combined.
Add in the cinnamon, salt, and vanilla, mix well.
Slowly add the heavy cream one tablespoon at a time until the frosting is a nice pipeable consistency. Fill a piping bag with frosting.
Pipe the frosting onto cupcakes.
Start checking the cupcakes at 15 minutes to ensure you don't accidentally overbake the cupcakes.
You can brown the butter ahead of time and leave at room temperature until it solidifies.
The frosting overall can be made up to three days ahead of time, stored in an airtight container. The longer it sits, the more the flavors develop.