public ParityViewModel()
        {
            InputData = "123456789";
            parity    = new Parity();
            EncodeCmd = ReactiveCommand.Create(() =>
            {
                inputBytes    = StringToBytes(InputData);
                Input         = BytesToBinary(inputBytes);
                encodedBytes  = parity.encode(inputBytes);
                Encoded       = BytesToBinary(encodedBytes);
                Disturbed     = Encoded;
                DisturbedBits = GetDisturbedBits();
                this.RaisePropertyChanged(nameof(DisturbedBits));
            }, this.WhenAnyValue(i => i.InputData, i => !string.IsNullOrEmpty(i) && !i.Any(x => (int)x > 127)));

            DecodeCmd = ReactiveCommand.Create(() =>
            {
                var decoded = parity.decode(ExtractDisturbetBits());
                Decoded     = BytesToBinary(decoded);
                Stats       = GetStats();
                CalculateNumberOfErrors();
                this.RaisePropertyChanged(nameof(Decoded));
                this.RaisePropertyChanged(nameof(Stats));
            }, this.WhenAnyValue(e => e.Encoded, e => !string.IsNullOrEmpty(e)));
        }