Here's the way to do it:
-Bought tickets for a Leafs/Caps game on Dec. 23.
-Reserved a room in advance downtown Toronto. Went there early, and set up ice bucket with champagne and roses.
-Arranged a limo to pick us up from the hockey game. Stopped by limo place early and dropped off bag with long underwear, hot chocolate, mittens, toques, and skates.
-Took public transit to the game. Leafs lose of course. Right at the end of it, said "lets go, surprise time", and we go out of the arena and hop in to the limo.
-Tell the woman to put on long underwear in the limo, give the driver a bit of a show.
-Limo drops us off at Nathan Philips Square for some Christmas ice-skating. Very nice.
-We go ice skating for a while, then I suggest we break for some hot chocolate. While I make her fumble around with cups/thermos/etc., I pull out the ring and get on one knee by the big Christmas tree. I say a bunch of romantic garbage. She says "of course I'll marry you". Mission accomplished.
-Immediately afterwards, we hop in to the limo again, and get dropped off at hotel.
-Open door to room with roses and champagne, and yadda yadda, time to drive home the next morning.
No further Christmas presents necessary. Although I did buy her some nice slippers to open up on Christmas morning. She tells the story better than me.