Alter Shell.enumerate to return a list of IDs, and add a Shell.attach(id) static method, so that deleting the enumerated remote shells can be controlled (because, they are deleted in the finalize method).