/// <summary>
        /// Adds a tooltip to the anchor.
        /// </summary>
        /// <param name="id"></param>
        /// <param name="content"></param>
        private void AddTooltipMarkupString(Guid id, MarkupString content)
        {
            InvokeAsync(async() =>
            {
                await semaphore.WaitAsync();

                try
                {
                    var instance = new TooltipInstance
                    {
                        Id                  = id,
                        TimeStamp           = DateTime.Now,
                        MarkupStringContent = content,
                        Initiated           = false
                    };

                    Tooltips.TryAdd(id, instance);
                }
                finally
                {
                    semaphore.Release();
                }

                StateHasChanged();
            });
        }
        /// <summary>
        /// Adds a tooltip to the anchor.
        /// </summary>
        /// <param name="id"></param>
        /// <param name="content"></param>
        private void AddTooltipRenderFragment(Guid id, RenderFragment content)
        {
            InvokeAsync(async() =>
            {
                await _semProtectTooltips.WaitAsync();

                try
                {
                    var instance = new TooltipInstance
                    {
                        Id                    = id,
                        TimeStamp             = DateTime.Now,
                        RenderFragmentContent = content,
                        Initiated             = false
                    };

                    Tooltips.TryAdd(id, instance);
                }
                finally
                {
                    _semProtectTooltips.Release();
                }

                StateHasChanged();
            });
        }