Since the _PollingTimer can be reused for a possible console support, why not to make it a public "simil reactor"?
As an example:
class UPollReactor(object): """User mode polling reactor, for Windows.
Note that this is not a real reactor. """
def addResource(self, resource, action): ...
def run(): # add a fake resource, just to do the job done by twistd with the # TimeService ...
twistd can, as an example, always "run" the UPollReactor when on a windows system.
Regards Manlio Perillo