Melt the Reese’s Peanut Butter Cups in a glass bowl in 20-second intervals in the microwave. Set aside to cool.
In a medium saucepan on low heat, combine the flour, sugar, and milk, stirring constantly. It will take a while to start to boil cooking on low but once it starts, the pudding will thicken up really quick. Cook for one minute after the mixture has started to boil, stirring continually.
Take the pudding off the heat and pour it into a shallow plate (you can strain it if necessary to prevent lumps).
Press plastic wrap directly on top of the pudding’s surface and let it cool to room temperature.
In a mixing bowl, beat the butter until creamy. Pour in the cooled melted Reese’s Peanut Butter Cups and beat until the butter is fluffy.
Add the cooled pudding a tablespoon at a time, mixing until smooth each time.
Beat in the powdered sugar to thicken up the frosting (if desired)