Preheat oven to 350 F.
Heat oil in a skillet. Add the ground meat and cook, breaking it down with a wooden spoon for 6-7 minutes, until browned. Add onion and garlic. Add carrots (optional).Add salt, black pepper, dried mint, summer savory, thyme (optional), tomato sauce and tomato paste. Cook for 2-3 minutes, stirring frequently.
Grease a 9x9 or 9x13 baking dish with oil.
Add in the drained potatoes and meat mixture. Stir to evenly distribute the meat into the potatoes.
Add cold water to the baking dish, so it just covers the top of the potatoes.
Bake for 40-50 minutes, until the water is absorbed by the potatoes and they are fully cooked.
In the mean time prepare the Bechamel sauce (or the Bulgarian Style Topping).
For the Bechamel:
In a bowl, swish egg yolks. Set aside.
Melt butter in a saucepan. add flour. Cook for 3 minutes on medium heat, stirring frequently.
Slowly add the milk, whisking to incorporate. Add salt and nutmeg. Cook for 3 minutes, until thickened. Let the mixture cool for 5 minutes. Add in the egg yolks (with feta). Let the sauce stand at room temperature, while the potatoes and meat are cooking.
Pour the sauce over the cooked potatoes. Top with cheese. Bake for 15 minutes, until golden. You can broil for 1-2 minutes, if the top is not getting to the desired golden color.
For the Bulgarian Moussaka topping:
In a bowl beat together eggs, yogurt, milk, flour, then add salt and baking soda.
Pour over the moussaka . Top with cheese. Bake for 10-15 minutes, until golden.