I think they were already in the async world and needed message passing -- the polling code was also in python async.