Make a mound of the flour in the center of a large wooden cutting board. Make a well in the middle of the flour and add the eggs, oil and any other flavoring you choose. Using a fork, beat together the eggs, oil and flavorings and begin to incorporate the flour starting with the inner rim of the well. As you expand the well, keep pushing the flour up to retain the well shape. Do not worry that this initial phase looks messy. The dough will come together when 1/2 of the flour is incorporated.
Start kneading the dough with both hands, using the palms of your hands primarily. Once you have a cohesive mass, remove the dough from the board and scrape up any left over crusty bits. Lightly flour the board and continue kneading for 3 more minutes. The dough should be elastic and a little sticky. Continue to knead for another 3 minutes, remembering to dust your board when necessary. Wrap the dough in plastic and allow to rest for 30 minutes at room temperature. Note: do not skip the kneading or resting portion of this recipe, they are essential for a light pasta.
Using a pasta machine, roll out the dough to the thinnest setting.
Bring 6 quarts water to boil and add 2 tablespoons salt.
In a 12 to 14 inch saute pan, heat butter until foam subsides, add onion and cook until soft and golden brown, about 7 to 8 minutes. Remove pan from heat and allow to cool. Add ricotta, Fontina, goat cheese, marjoram, parsley and nutmeg and season with salt and pepper.
To form agnolotti, cut 3 inch strips of pasta lengthwise and place 1 tablespoon cheese filling 3 inches apart. Fold top of pasta down to bottom and pinch closed. Press dough flat between lumps of filling. Using a pastry cutter, cut half moons using folded part as flat side of moon. Continue until pasta and filling are finished.
When all agnolotti are finished, drop into boiling water and lower heat. Cook at high simmer until tender. Meanwhile, melt butter with mushrooms in a 12 to 14 inch saute pan. Drain agnolotti and place in pan. Sprinkle with Parmigiano and toss over medium heat to coat. Serve immediately.