Cut off both ends of the eggplants and cut into 24 slices, about 1-inch thick each.
Coat 2 sheet pans lightly with spray olive oil and place the eggplant slices on the oiled sheet pans along with the bell pepper halves and spray the vegetables with olive oil.
Bake in the oven for 25 minutes, turning halfway through the baking.
Dice the bell peppers and set aside.
In a medium saucepan, over moderate heat, in 2 tablespoons of the oil cook half the onion until softened.
Add half the garlic and flour and cook for another minute, stirring constantly.
Add the milk in 3 additions stirring the sauce until smooth with the each addition.
Add the cayenne, season with salt and pepper, and cook for another 10 minutes, stirring occasionally and set aside to cool.
Meanwhile, in another saucepan, over medium heat, cook the remaining onion in 2 tablespoons of the remaining olive oil until softened.
Add the diced bell pepper and cook for another minute, stirring frequently. Add the remaining garlic, the crushed tomatoes and simmer for 10 minutes.
Stir in the basil and simmer another 2 minutes, (you will have about 3 1/2 cups tomato sauce), set aside.
Mix the ricotta cheese with 3 tablespoons of the cooled white sauce along with the parmesan, egg yolk, the remaining cayenne and salt and pepper to taste.
Coat the interior of a 2-quart baking dish with half the remaining olive oil. Spread tomato sauce over the bottom of the baking dish. Place half of the eggplant slices in a single layer over the tomato sauce.
Season lightly with salt and pepper to taste. Place 5 tablespoons of the ricotta mixture on each eggplant slice, and spoon white sauce over ricotta mixture.
Top with remaining eggplant slices. Season with more salt and pepper and drizzle with remaining olive oil. Spoon remaining tomato sauce over each eggplant slice, and top each one with mozzarella.