Melt butter or margarine until bubbly in a heavy saucepan over medium-high heat.
Reduce heat, add the flour, salt and other dry seasonings.
Stir mixture well with a wire whip until it is smooth and again begins to bubble and cooks for 1 minute.
Add milk, broth or other liquid and whip briskly until mixture is very smooth.
Cook and stir constantly, until the sauce thickens and bubbles for 3 minutes.
When using leeks, onions, or shallots, add to the saucepan while the butter melts.
Saute, stirring constantly, so that the onions do not brown.
If using curry powder or chili powder in a sauce, cook in the hot butter a few minutes before adding flour.
Stir shredded cheese or liquid seasonings into the sauce after it has bubbled for 3 minutes, just until smooth and well-blended.
Cover surface with plastic wrap until ready to serve.