create
Creates a new device from primitives and saves it to the DeviceRepository
Return
The device instance that was saved inside the repository
Throws
if the provided id is not a valid UUIDv4 identifier
if a new device already exists
if the provided name is blank