Preheat a pan with butter and olive oil over medium- low heat. Add in the onions and allow to cook slowly, stirring every so often until they soften, turn translucent and begin to caramelize in colour- about 45 minutes.
Once they begin to look caramelized, add in the brown sugar and balsamic and season with salt and pepper to taste. Set aside.
Additional Cooked Fillings
Heat a tablespoon each of butter and oil over medium high heat in a large skillet. Add in the celery and mushrooms and sauté until golden and softened, about 3-4 minutes. Add in the garlic and sage and stir until fragrant, about another 30 seconds. Transfer to a large bowl.
Return the skillet to the burner over medium high heat and add in the sausages. Break into small bite-size pieces and sauté until browned. Transfer to the bowl with the celery.
Add in an additional tablespoon each of butter and oil, along with the pears and brown sugar. Saute until slightly softened and coated in the caramel, about 3 minutes. Transfer to the bowl. All of this can be made 1 day ahead and stored separately in the fridge (the mushrooms and celery together, and the sausage and pears together).
Stuffing
Preheat oven to 350 F and grease a large 15 inch glass baking dish.
Whisk together the milk, stock, butter, and eggs. Add in the bread and mix until well coated. Add in all of the cooked celery, mushrooms, pears and sausage, caramelized onions, as well as the nuts, dried fruit and ginger. Season with a pinch each of salt and pepper.
Assembly
Bake uncovered for 45 minutes until well set and browned. This can be made a few hours ahead of time if needed and then reheated at 350 F for 20 minutes.