Gns 35

Make the polling run on a separate thread.
Track instances as a dictionary with key=instance_id, value=instance.