/// <summary>
        /// Overridden to stop the engine.
        /// </summary>
        protected override void DisposeCore()
        {
            base.DisposeCore();

            if (_engine != null)
            {
                _engine.Stop();
                _engine = null;
            }
        }