In a mixer bowl - beat the butter, margarine, sugar & brown sugar together until fluffy.
Add the egg and vanilla - beat well.
Add in the flour, pudding mix, baking soda, and salt - slowly stir first and then beat until all ingredients are completely incorporated.
Slowly stir in chocolate & white chocolate chips.
Fold in ½ of the M&M's.
Remove the beater, cover, and refrigerate overnight (extremely important that you do this).
The next day, preheat the oven to 350 degrees.
Roll the dough into balls - it will be firm & you will need to press it all together.
Place the dough balls on a lined baking sheet and bake the cookies for 9-12 minutes (mine were perfect at 11).
Remove and immediately top each cookie with a few extra chocolate chips, white chocolate chips, and M&M's before they cool.
Leave cookies on baking sheet to cool
Repeat this process with remaining cookies.
I used three -¾ baking sheets for all these cookies. It's important to not place dough on a hot cookie sheet. Start with a cold cookie sheet with each batch to ensure that the cookies bake consistently.
Store in an airtight container at room temperature.