You'll need a baking dish that can hold about 2 quarts / litres.
Beat the eggs in a large bowl. Mix in the milk, then add the bread (torn into large chunks), toss until coated. Let sit until all the egg and milk mixture is absorbed, usually around half an hour.
Chop the mushrooms, green onion and green pepper.
Heat a few tablespoons of olive oil in a frying pan. Add the mushrooms, only start stirring when they start to brown. Now add the green onions and green pepper, and sauté the mushroom mixture until the mushrooms are brown all over (about 10 minutes.) (Optional: add a splash of white wine, sherry or beer.) Add salt and pepper, your herbs, and the garlic and sauté briefly. Set aside to cool a bit so that it won't be too hot for the cream and egg in the bread mixture.
While it is cooling a bit, start oven heating to 180 C / 350 F / Gas Mark 4
Add mushrooms to bread mixture. Pour into a buttered 2 litre / US quart baking dish. Dot the pudding with butter.
[You can prepare this far up to a day in advance and store covered in refrigerator].
Bake for about an hour; the top should be golden and crusty, and the inside still moist but not overly liquidy.
Instead of green onion, you can use regular onion.For herbs, try rosemary, sage, savoury or other herbs to taste, about a teaspoon or so in total.Don't use bread crumbs; you want chunks.If the bread is fresh, use less milk. If you see the bread taking up all the milk before you are finished putting the bread in the bowl, and the quantity seems about right for you, you can stop adding bread.Easily doubled.