Instantiate a new device instead of calling again `__init__` on reconnection
Device.reconnect calls the __init__
method of the device to be reconnected, instead of creating a new instance of it. This seems error-prone, because types of parameters in the provided mapping might be different from the original types in the config file.
One needs to think about the consequences of such a modification...