/// <summary>
        /// Instantiates a runner which runs <see cref="Hoverfly"/> in Spy mode.
        /// </summary>
        /// <param name="simulationSource">The simulation to import.</param>
        /// <param name="hoverflyConfig">The hoverfly configuration.</param>
        /// <returns>Returns <see cref="HoverflyRunner"/>.</returns>
        public static HoverflyRunner StartInSpyMode(ISimulationSource simulationSource, HoverflyConfig hoverflyConfig)
        {
            var hoverflyRunner = new HoverflyRunner(HoverflyMode.Spy, simulationSource, hoverflyConfig);

            hoverflyRunner.Start();
            return(hoverflyRunner);
        }
        /// <summary>
        /// Instantiates a runner which runs <see cref="Hoverfly"/> in capture mode.
        /// </summary>
        /// <param name="output">The <see cref="ISimulationDestinationSource"/> to store recorded simulations.</param>
        /// <param name="hoverflyConfig">The hoverfly configuration.</param>
        /// <returns>Returns <see cref="HoverflyRunner"/>.</returns>
        public static HoverflyRunner StartInCaptureMode(ISimulationDestinationSource output, HoverflyConfig hoverflyConfig)
        {
            var hoverflyRunner = new HoverflyRunner(output, hoverflyConfig);

            hoverflyRunner.Start();
            return(hoverflyRunner);
        }
        /// <summary>
        /// Instantiates a runner which runs <see cref="Hoverfly"/> in Spy mode.
        /// </summary>
        /// <param name="hoverflyConfig">The hoverfly configuration.</param>
        /// <returns>Returns <see cref="HoverflyRunner"/>.</returns>
        public static HoverflyRunner StartInSpyMode(HoverflyConfig hoverflyConfig)
        {
            var hoverflyRunner = new HoverflyRunner(HoverflyMode.Spy, hoverflyConfig);

            hoverflyRunner.Start();
            return(hoverflyRunner);
        }