@jcredding instead of this conditional, lets just have `run` check that your are listening first and raise a custom exception if you are not.  That way you can assume `*args` here is a list of client file descriptors.  Might even call it `*client_file_descriptors` to make the API really clear.