Bring a pot of water to a boil. Add 1 tablespoon salt. Add the macaroni and cook until just tender, about 8 to 10 minutes. Drain and return to the pan. Pour the butter over the macaroni and stir together. Add the grated kefalotiri or Parmegiano Reggiano, nutmeg, 1 teaspoon salt and pepper to taste and toss well. Let cool, add eggs and toss again. Set aside.
For the tomato sauce, in a frying pan over medium heat, heat the oil, add the onion and garlic and cook until soft, 7 minutes. Increase the heat to medium high, add the lamb cook until the meat begins to brown. Add the tomatoes, tomato paste, oregano, wine, stock, parsley, sugar, salt and pepper, cover and simmer slowly until the sauce thickens, 20 minutes. Remove the cover and simmer slowly until the liquid is reduced by half, 10 minutes. For the sauce, in a saucepan, over medium heat, melt the butter. Stir in the flour and cook, stirring, for 2 minutes. Add the milk all at once and bring to a boil, stirring constantly. Boil gently until the sauce thickens, 1 minute. Add the nutmeg, salt and pepper to taste and cool 5 minutes. Add the egg. Add ½ cup of this sauce to the cooked meat sauce and stir well.
Preheat an oven to 375F.
To assemble- Butter a 13 X 9-inch baking dish. Spoon half of the macaroni evenly on the bottom of the pan. Spread the meat sauce on top. Cover with the remaining macaroni. Spoon the cream sauce over the top and spread evenly to completely cover the macaroni. Sprinkle the kefalotiri or Parmegiano Reggiano onto the top and cook in the oven until the top is golden brown and bubbling around the edges, 50 minutes.
Let stand for 10 minutes before cutting into squares to serve.