public override void Reset()
        {
            WriteLine("Remote process has been reset...");
            _factory.Shutdown();

            _factory = CreateFactory();
            Start();
            _factory.CommandDispatcher = _engine.GetService <PythonService>(_engine).GetLocalCommandDispatcher();

            var changed = AvailableScopesChanged;

            if (changed != null)
            {
                changed(this, EventArgs.Empty);
            }
        }
        public override void Reset()
        {
            // TODO: strange text buffer behavior (race condition?)
            // WriteLine("Remote process has been reset...");
            _factory.Shutdown();

            _factory = CreateFactory();
            Start();

            var changed = AvailableScopesChanged;

            if (changed != null)
            {
                changed(this, EventArgs.Empty);
            }
        }