Crack the eggs into a small bowl, and use a fork to beat them with the salt and pepper.
Heat an 8-inch omelet pan or shallow skillet (preferably nonstick) over medium-high heat. Add the butter, let it melt and swirl the pan so it coats the bottom evenly. Pour the eggs into the pan and quickly shake and swirl so the eggs completely cover the bottom. Let the eggs firm up on the bottom, about 30 seconds, then use a rubber spatula to lift the edges of the omelet up so any uncooked egg on the top runs underneath.
Sprinkle half of the eggs with the sauteed mushrooms and cheese and let it cook for another 30 seconds; the top should be moist but not quite runny (unless you like it runny). Flip the uncooked side of the eggs over the filling, and slide it onto a plate. Garnish with fresh herbs, if desired.
Heat a very large skillet over medium high heat. Add the oil, then the mushrooms and garlic, season with salt and pepper and saute until the liquid has evaporated and the mushrooms have turned nicely browned, about 10 minutes. Taste, adjust seasonings and serve hot.
Cook the mushrooms in a big pan, so they get nicely browned instead of steaming. Use any mix of mushrooms that appeals, from cremini to oyster to shiitake. They are great on crostini, wrapped in crepes, served over steaks or chicken, and of course in an omelet.