Pour stock into a medium pot and bring it to a simmer over medium-high heat. Reduce the heat to low and keep warm.
In a large skillet, with deep sides, heat the olive oil over medium heat. Add the onion and cook, stirring, until the onion begins to soften, about 5 minutes.
Add the barley, stirring until all of the grains are evenly coated in olive oil. Cook, stirring frequently, for about 5 minutes.
Add the wine and cook, stirring, until it is nearly all absorbed.
Add 1 cup of the warm stock to the pan, and continue stirring, until the stock is nearly all absorbed. Continue cooking the barley this way, adding the stock a bit at a time and stirring frequently, until the barley is tender enough to eat but still has a slight chew, about 50 minutes.
Add any of the optional add-ins and continue cooking for a couple minutes, just until the ingredients are heated through.
Remove the dish from the heat and gently stir in the butter and cheese. Season with salt and pepper, to taste.
Serve immediately, with extra grated Parmigiano-Reggiano on the top.