public async ValueTask DisposeAsync()
        {
            _logger.Write("[Dispose] Executing");
            await _connection.CloseAsync();

            _watcher.Dispose();
            _logger.Write("[Dispose] Executed");
            await _logger.DisposeAsync();

            await Writer.DisposeAsync();
        }