protected override IEnumerator ProcessPayload(VisualPayload payload)
        {
            var groupId = GroupId.GetFirstValue(payload.Data);

            DataSharedTooltipVisualizer newVisualizer;

            if (!DataShare.ContainsKey(groupId))
            {
                newVisualizer = VisualizerFactory.InstantiateDataSharedTooltipVisualizer();

                newVisualizer.Initialize(this, payload);

                DataShare[groupId] = newVisualizer;
            }
            else
            {
                newVisualizer = DataShare[groupId];
            }


            newVisualizer.TextColor       = FontColor.GetFirstValue(payload.Data);
            newVisualizer.FontSize        = FontSize.GetFirstValue(payload.Data);
            newVisualizer.BackgroundColor = BackgroundColor.GetFirstValue(payload.Data);
            newVisualizer.CheckRedeclareStyle();


            newVisualizer.DisplayText =
                ShowTooltip.GetFirstValue(payload.Data)?
                Tooltip.GetFirstValue(payload.Data):"";

            newVisualizer.DrawPosition = ScreenPosition.GetFirstValue(payload.Data);

            var iterator = Router.TransmitAll(payload);

            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }