Boil the pasta in salted water until almost done, about 8 minutes. Drain, rinse, spread out onto a clean dish towel and set aside.
In a sauce pan, melt butter over med-low heat then stir in flour, onion, bay leaf, type and peppercorns. Cook for 3 minutes, stirring constantly. Pour in the milk, increase heat to medium, and whisk until mixture comes to a boil. Reduce heat and simmer 10 minutes, stirring constantly.
Strain mixture into a large bowl and add the remaining sauce ingredients (discard onion mixture in sieve). Stir until cheese is mostly melted.
Gently stir in the cooked pasta, until completely coated then place in a greased quart-size baking dish (or several small ones for individual portions).
For topping, lightly toast crumbs by spreading out onto a baking sheet, and broil for 2-5 minutes until just start to turn golden. Combine crumbs with just enough of the melted butter until are slightly moistened. Add remaining ingredients, then sprinkle over pasta. Bake at 375°F for 30 minutes.