Bring a large pot of water to a boil. Add macaroni and cook till al dente. Drain, return pasta to pot, add butter and toss until melted. Set aside.
Meanwhile, mix together topping ingredients in a small bowl. Set aside.
Preheat oven to 350F.
Melt butter over medium heat in a large saucepan. Add shallots and cook a few minutes till soft. Add flour and cook, stirring constantly, for 1 minute.
Slowly add milk, whisking to remove lumps. Stirring constantly, bring to a boil, then reduce to a simmer and continue cooking till sauce has thickened.
Remove from heat and add cheese, salt, pimenton, garlic powder, and mustard powder. Taste and adjust seasonings.
Pour sauce into pot with macaroni. Add peas and stir to combine everything. Pour into a casserole dish and sprinkle with breadcrumb topping.
Place on a sheet pan to catch anything that bubbles over. Bake for 25 minutes or until top is light golden. If top is not golden enough, turn on the broiler during the last minute or two.
Let set for 5 minutes, then serve.