Contains the state of a device enlisting all it's component's states.
 /// <summary>
 /// A new device state is ready to be published, announce it
 /// </summary>
 /// <param name="deviceState"></param>
 internal void AnnounceDeviceState(DeviceState deviceState)
 {
     deviceNetworkHost.DeviceStateReceived(deviceState);
 }
 internal void DeviceStateReceived(DeviceState deviceState)
 {
     OnDeviceStateReceived?.Invoke(this, new DeviceStateEventArgs(deviceState));
 }
 public DeviceStateEventArgs(DeviceState deviceState)
 {
     DeviceState = deviceState;
 }
 public void GenerateDeviceState(DeviceState state)
 {
     DeviceStateReceived?.Invoke(this, state);
 }