Add the pasta to a pot full of boiled water and boil 2 minutes less than the instructions on the box.
Brush a baking pan (35x25 cm) with olive oil. When the pasta is ready, drain and spread in the baking pan. Add the 3 egg whithes, lightly beaten, crumbled feta cheese, salt and pepper. Mix and set aside.
Place a pan over high heat. Add olive oil, the finely chopped onions and sauté for 3-4 minutes, until the onions caramelize nicely. Add the garlic and continue to sauté.
Add the ground meat. Break it up with a wooden spoon and brown for 4-5 minutes.
Add the tomatoe sauce, salt and fresh ground pepper.
Turn the heat down to low and simmer for 10-20 minutes, until the sauce reduces and the ground meat is cooked.
When ready, remove from heat, add parsley and set aside until needed.
Heat the butter in a pot over medium heat. As soon as it melts (do not let it burn), add the flour. Beat with a hand whisk and sauté the flour for a few minutes.
Add the milk, in small batches, whisking continuously so that no lumps form in the mixture.
The mixture will be quite thick at first. You need to be persistent and patient. As you add more and more of the milk, you will see how the béchamel sauce will start to become nice and creamy.
When the béchamel sauce starts to thicken, you have to be very careful not to let it burn on the bottom. Whisk continuously.
When ready, remove from heat and add salt and pepper. Whisk in order to reduce temperature.
At the end add the 3 egg yolks and whisk to incorporate.
Preheat oven to 180* C Fan.
On the baking containing pasta add the ground meat and spread evenly.
Pour the béchamel sauce over the ground meat and sprinkle with crumbled feta cheese.
Bake for 40 minutes or until the béchamel turns golden brown.