About getting the same dbus signal for connect/disconnect - there are other such events, such as keyboard slide (same signal when openned and closed) USB device connect/disconnect. In such cases you need to have the script running on both events, and the script should use some other method for finding out which event actually happened (and be really careful of race conditions).