I think the way I would most like to be taught a new mathematical concept is as follows:

1) Identify the need for a new concept. Show the students why their current abilities are lacking. Task them to answer problems for which the new concept is appropriate before teaching it to them. Often times problems can be solved in a slow, arduous manner relying on previously learned methods. Other times problems are insolvable. Instill in the students a desire to grow their mathematical abilities. Make them a little bit uncomfortable.

2) Discuss the numerous applications of the new concept. Give students a sense of the reasons it's important to learn.

3) Teach the abstract concept.

4) Teach the universal method for solving these types of problems.

5) Practice the universal method.

6) Challenge the students to be creative, and solve problems using methods other than the universal method. Give them problems that are easier to solve with modified techniques based on their number sense. For example: 63x1999. I think we would all calculate that as 63x(2000 - 1) but I know I was never encouraged to do so.