Preheat the oven to 350°F (175°C).
Place the bread cubes in a single layer on a sheet pan and bake for 7-10 minutes, or until dried and toasted. Transfer the bread cubes to a very large bowl.
Meanwhile, in a large sauté pan, heat the oil over medium heat. Cook the sausages over medium heat for about 10 minutes, until browned and cooked through, breaking up the sausage with a fork while cooking. Add to the bread cubes.
In the same pan, melt the butter and add the onions, celery, garlic, parsley, sage, rosemary or thyme, salt and pepper. Sauté over medium heat for 10 minutes, until the vegetables are softened. Add the wine (if using) and allow the wine to reduce down to half (about 4 minutes).
Take off the heat and mix in the stock to combine all of the flavors. Add the beaten egg and pour into the bread, mixing really well with a wooden spoon until all the liquid has been absorbed.
Pour the bread stuffing into a 9x12-inch baking dish. Bake for 30 minutes, until browned on top and hot in the middle.