public async Task <KeyValuePair <int, DeviceStatusState> > ReadStateFromStorage()
        {
            var historyItems = await runtimeStorage.GetDeviceStateHistory(this.GetPrimaryKey());

            int version = 0;

            foreach (var item in historyItems)
            {
                State.DeviceId   = item.DeviceId;
                State.DeviceName = item.Name;
                State.Apply(item.CreateDeviceStatusCommand());
                version = item.Version;
            }

            return(new KeyValuePair <int, DeviceStatusState>(version, State));
        }