Salt the eggplant lightly and bake on an oiled cookie sheet at 350 degrees for 15 minutes or until tender.
Saute the mushrooms in the 3 tbps. of butter along with the onions and garlic.
Add the tomato paste, parsley, oregano, basil, salt, pepper, cinnamon and wine. Simmer until the liquid is absorbed.
Add the bread crumbs, parmesan and beaten eggs. Remove from heat.
Make a white sauce. Melt the 1/2 cup of butter over a low flame. Whisk in the flour. Then whisk in the milk. Keep whisking until thick.
Beat in the egg yolks.
Butter a large casserole dish. Cover the bottom with eggplant slices, then half the mushroom sauce. Add remaining eggplant and cover with remaining mushroom sauce. Top with white sauce. Sprinkle with bread crumbs and extra grated cheese if desired.
Bake at 350 degrees for 35 minutes, covered with foil. Remove foil and bake 15 minutes longer.