automate setTimeout housekeeping

@zaach, @vladikoff - wanna have a look?

fixes #1010 
Shouldn't this set `self._workingTimeout` to the return value of `self.setTimeout`?