In a medium-sized mixing bowl, crack the eggs and beat them until they turn a pale yellow color.
Heat a nonstick sauté pan over medium-low heat. Add the butter and let it melt.
Add the milk to the eggs and season to taste with salt and pepper. Then, grab your whisk and whisk like crazy - you're going to want to work up a sweat here. If you're not up for that, use an electric beater or stand mixer with the whisk attachment. You main goal is to beat as much air as possible into the eggs.
When the butter in the pan is hot enough to make a drop of water hiss, pour in the eggs. Don't stir. Let the eggs cook for up to 1 minute or until the bottom starts to set.
With a heat-resistant rubber spatula, gently push one edge of the egg into the center of the pan, while tilting the pan to allow the still liquid egg to flow in underneath. Repeat with the other edges, until there's no liquid left.
Gently flip the omelet over, using your spatula to ease it over if necessary. Cook for another few seconds, or until there is no uncooked egg left.
If you're adding mushrooms, cheese, fresh herbs, or other ingredients, now's the time to do it. Spoon the filling across the center of the egg in a straight line.
With the spatula, lift one edge of the egg and fold it across and over, so that the edges line up. Cook for another minute or so, but don't overcook or allow the egg to turn brown. If necessary, you can flip the entire omelet over to cook the top for 30 seconds or so.
Gently transfer the finished omelet to a plate. Garnish with chopped fresh herbs if desired.