Heat olive oil and butter over medium heat in a large skillet.
Add onions, eggplant, garlic and seasonings. Cover and let saute, stirring occasionally for about 10 minutes.
Add tomatoes and lentils with a little liquid. Cook until very thick.
Stir in tomato paste and heat through. Adjust seasonings to taste.
Butter a large casserole of oblong baking dish and layer half of the noodles across the bottom. Sprinkle one third of the parmesan over the noodles. Layer half of the sauce over noodles and parmesan.
Layer the remaining half of the noodles over the sauce, sprinkle with one third of the parmesan and cover with the remaining sauce. *You could refrigerate it at this point if you want to make it ahead of time.
Heat butter in a saucepan over low heat, stir in flour, and let roux cook a few minutes.
Pour in heated milk, stirring with a whisk.
Slowly whisk sauce into beaten eggs.
Pour sauce over entire casserole. It should drain through to the bottom and bind the whole thing together. If it sits on top, slide a butter knife in and out of the layers in a few places.