Dear Jeff,
thank you for the help, this seems like the way to go! But I have some problems with it:
I noticed that adding the line
	Code:
	viztask.schedule(proximityTask())
 makes the event happen only once, upon entering the sensor for the first time.
My question would be how do I make it happen everytime, like it was the case when I used
	Code:
	manager.onEnter(SensorIndexFinger,EnterProximity_IndexFinger)
 I tried the following (somehow adding the function that specifies the delay to the manager):
	Code:
	SensorIndexFinger = vizproximity.Sensor(vizproximity.Box([0.03,0.03,0.03],center=[0,0,0]),IndexFinger) 
manager.addSensor(SensorIndexFinger)
def proximityTask():
        global handstate
	yield vizproximity.waitEnter(SensorIndexFinger)
	print 'entered sensor'
	yield viztask.waitTime(2)
	print 'two seconds elapsed'
        handstate = 1
        print 'change hand'
def EnterProximity_IndexFinger(e): # decide what happens on sensor entry
	global handstate
	e.sensor == SensorIndexFinger 
	print "activate proximityTask"
manager.onEnter(SensorIndexFinger,proximityTask())
 But I get an error "TypeError: 'generator' object is not callable."
I would be very happy to hear if you had any suggestions on how to call the action (with delay) every time the sensor was entered, as I can't seem to find a way to implement it