Here's an easy way to make a toggle widget.
Profile: Widget
Context: Variable Value (%WIDGET = 1)
Task: Wifi On, Data Off, Flash "Wifi On"
Exit Task: Wifi Off, Data On, Flash "Wifi Off"
Save this.
Then long press on the home screen. Add a Task widget.
For the widget task, do the following:
Variable Add
Name: %WIDGET
Value: 1
Wrap Around: 2
This widget will toggle the value of WIDGET between 0 and 1 each time you press it. (The wrap around of 2 means that when the value reaches 2 it goes back to 0.)
So, press the widget. +1 gives you a value of 1. Profile turns on.
Press the widget again. +1 gives a value of 2 (which goes back to 0 with the wrap around) and the profile turns off.
Edit: The added benefit of making your widgets this way, is that you can create other profiles that change the variable value in different situations as well to (essentially) automatically "press" the widget in a certain location/at a given time/etc.