public override void Dispose()
        {
            if (!disposed)
            {
                disposed = true;

                logger.TextWritten      -= WriteConsoleLogText;
                errorLogger.TextWritten -= WriteError;
                outLogger.TextWritten   -= WriteText;

                logger.Dispose();
                outLogger.Dispose();
                errorLogger.Dispose();
            }

            base.Dispose();
        }