private void Interrupt()
        {
            LeftMotor.Stop();
            RightMotor.Stop();

            // TODOlater raise a WalkStopped event
        }
        private void Start(int leftPower, int rightPower)
        {
            ForcedSync = (leftPower == rightPower);

            LeftMotor.Start(leftPower);
            RightMotor.Start(rightPower);

            // TODOlater raise a WalkStarted event
        }
        private bool disposedValue = false; // To detect redundant calls

        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    LeftMotor.Dispose();
                    RightMotor.Dispose();
                }

                // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below.
                // TODO: set large fields to null.

                disposedValue = true;
            }
        }