In a large skillet, cook meat, onion, and garlic until meat is no longer pink. Drain fat (if necessary). Stir in the tomato sauce, wine, parsley, oregano, salt, and cinnamon. Bring to a boil, reduce heat, and simmer gently 10 min. Set aside to cool.
For the sauce, melt the butter in a medium saucepan. Stir in the flour and cook, whisking, 1 minute. Slowly whisk in the milk. With a wooden spoon, cook and stir until thickened enough to coat the back of the spoon. Remove from the heat, and stir in the cheese, salt, pepper, parsley. Set aside.
Cook the macaroni in heavily salted water to al dente. Drain and toss with egg, milk, cheese, and 1/4 t salt.
Gradually stir the meat mixture into an egg (this is called tempering so the egg doesn't scramble). Separately, stir the bechamel sauce into the last 2 eggs (also tempering).
Heat oven to 350F.
To assemble, layer 1/3 the macaroni mixture into a 8x8x2 baking dish. Follow with all of the meat mixture, then the rest of the macaroni. Top with the sauce. Sprinkle with additional cinnamon. Bake at 350F for 30-35 min or until set. Let stand 5 min before serving.