function Add-EnrichWithProperty {
        Enriches log events with custom property.
        Enriches log events with custom property. For example script name.
    .PARAMETER LoggerConfig
        Instance of LoggerConfiguration
        The name of the property
    .PARAMETER Value
        The value of the property
    .PARAMETER DestructureObjects
        If true, and the value is a non-primitive, non-array type, then the value will be converted to a structure; otherwise, unknown types will be converted to scalars, which are generally stored as strings.
        LoggerConfiguration object allowing method chaining
        PS> New-Logger | Add-EnrichWithProperty -Name ScriptName -Value 'Test' | Add-SinkConsole | Start-Logger

        [Parameter(Mandatory = $true, ValueFromPipeline = $true)]
        [Parameter(Mandatory = $true)]
        [Parameter(Mandatory = $true)]
        [Parameter(Mandatory = $false)]
        [bool]$DestructureObjects = $false

    process {
        $LoggerConfig = [Serilog.Configuration.LoggerEnrichmentConfiguration]::WithProperty($LoggerConfig.Enrich, $Name, $Value, $DestructureObjects)