1. Preheat the oven to 350 °
2. Add 2-3 quarts of water and 1 tablespoon of salt to a sauce pan large enough to hold the pasta and bring it to a boil.
3. When it is boiling, add the macaroni and cook until just al dente, 5-6 minutes. Taste it and make sure not to overcook it. It will continue to cook when it is baked
4. Run cold water into the pan until the water in the pan is cool. Drain the macaroni in a colander and return it to the pan. Add a tablespoon of olive oil to the macaroni and stir it to fully coat with the oil. Let it sit in the pan until you are ready to use it.
5. In a saucepan, melt the butter over medium low heat.
6. Whisk in the flour and cook for about 30 seconds whisking constantly.
7. While whisking the roux, add the milk. Add the salt, celery salt, paprika and pepper and cook until the sauce thickens slightly, about 4-5 minutes, stirring frequently so it doesn't stick or lump.
8. Add the cheese and stir until melted, about 3 to 5 minutes.
9. Combine the macaroni and the cheese in a 2 quart shallow casserole until it is thoroughly mixed. You can do this in the saucepan with the macaroni if you want and then pour it into the casserole dish. It is a little less messy that way.
10. For the bread crumb mixture, add the melted butter to the bread crumbs. Mix in the garlic powder and combine until it is thoroughly mixed. Sprinkle on top of the casserole.
11. Bake in the oven until it is bubbly and lightly browned, about 20 to 25 minutes.