Preheat the oven to 375°F (191°C).
To prepare your muffin pan: If you are using a non-stick muffin pan, you do not have to line your muffin pan with muffin pan liners. If you are using a muffin pan that is not non-stick, you will want to use muffin pan liners or grease your muffin pan very well.
Place a skillet on the stovetop set to medium heat, and add the butter (or other fat) to the skillet. Add the chopped onions and saute for a few minutes until they appear softened. This process should take 2 minutes.
Add the cubed potatoes to the skillet and saute until golden brown and crisp. This process should take 8-10 minutes.
Once the potatoes are golden and crisp, remove the mixture from the stovetop and transfer them to a medium bowl to cool. Set aside.
In a large bowl, whisk together the 8 eggs, and then add in the half and half (or other liquid), the salt and peppers (if using), and mix well.
Next, add the cheese to the large bowl and stir well to fully incorporate the cheese.
At this point, if you are using some cooked crumbled sausage, cooked crumbled ground beef, or chopped Canadian bacon or deli ham, you can mix it into the large bowl. If you are using bacon, you can also mix it in, but keep in mind that it will lose some of its crispness. I prefer to reserve the bacon to use as a topping for the egg muffins. (See video.)
Add all the chopped vegetables to the large bowl.
Add the potato and onion mixture to the large bowl and mix everything thoroughly until well distributed and completely coated with the egg mixture.
Distribute the egg mixture evenly between the muffin pan cups.
Distribute the bacon evenly over each muffin, and then evenly distribute the cheese on top of the bacon over each muffin.
Place the muffin pan on the middle rack of the oven and bake for 20 minutes. If you are using the large muffin pan with only 6 muffin cups, bake for 30 minutes.
Check the muffins at the specified baking time to see if the cheese has melted and turned golden brown. Insert a toothpick in the middle of one muffin and make sure that it comes out clean. If not, continue baking the muffins for an additional 2-3 minutes.
Once done, remove the muffin pan from the oven and place the pan on a heatproof surface. Allow it to cool for a few minutes, and then remove the muffins and place them on a cooling rack. You can serve the muffins immediately or store them.
If you want to store the egg muffins in the refrigerator, place them in an airtight container. They will stay fresh for 3-4 days. If you want to reheat them, you can do so in an oven set to 350°F (177°C) for 15-20 minutes.
If you want to store the egg muffins in the freezer, wrap them individually in plastic wrap, and then place them in an airtight container. They will stay fresh for 2 months. If you want to reheat them, defrost the muffins overnight in the refrigerator. The next day unwrap them, place them on a baking sheet, and warm them in an oven set to 350°F (177°C) for 15-20 minutes.
You can also warm these egg muffins in the microwave for approximately 1 minute on high.