Lesson 1: Do not oppose a popular program that your opponent supports, highlight said opposition, then only to knuckle under once you discover that it is popular within the same day.
Example: Vincent Gray earlier tried to strip funding from the streetcars in the d.c. budget and tried to use it as an issue to bash Mayor Adrian Fenty over the head with. Now this is stupid for many reasons. The streetcars are a good idea. They will enahnce connectivity in the core and are already spurring development. Wait, you ask, "how can nonexistent streetcars spur development?" Well, the streetcars are not running, however, a lot of construction has already occurred. The streets where the first phase of the streecar implementation is supposed to occur have already been dug up to set up the utilities, tracks have been laid for the majority of the routes, and actual streetcars have been purchased and delivered. This sends a signal to investors and potential homeowners. Potential homeowners might be willing to forgo amenities presently for rising property values later. Restaurants are willing to open up now to take advantage of cheap rents. Businesses relocate in anticipation of new foot traffic. So a large part of the work has been done and good amount of the money spent and to some degree the benefit has already started accruing. Unless you think that it is a foolish project it would make no sense to terminate it at this point. Anyhow, apparently Vincent Gray came to this same conclusion after half the city called his office in an uproar (in his defense, the majority of the council voted with him to strip out the funding, it was 11-2 vote- but they were not running for mayor).