public DroneResponse MoveBackward(Coordinate coordinate)
        {
            try
            {
                if (ValidateMovementRange(coordinate.Y))
                {
                    var command = ControlCommand.Back(coordinate.Y);

                    var response = MoveDrone(command);

                    Thread.Sleep(base.CommandDelayList[DroneConstants.BACK]);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            return(DroneResponse.FAIL);
        }
        public async Task <DroneResponse> MoveBackwardAsync(Coordinate coordinate)
        {
            try
            {
                if (ValidateMovementRange(coordinate.Y))
                {
                    var command = ControlCommand.Back(coordinate.Y);

                    var response = await MoveDroneAsync(command);

                    await Task.Delay(base.CommandDelayList[DroneConstants.BACK]);

                    return(response);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            return(DroneResponse.FAIL);
        }