introduced dedicated (struct) type for UID
simplified internal AddDevice (exposes fewer details of its implementation)