public StateTransitionArrows([NotNull] StateVisualizer owner)
            {
                Guard.NotNull(owner, nameof(owner));
                this.owner = owner;

                TransitionTable = CreateTransitionArrowTable();

                foreach (ArrowShape shape in TransitionTable.Values)
                {
                    owner.shapes.Add(shape);
                }
            }
            public StateBlocks([NotNull] StateVisualizer owner)
            {
                Guard.NotNull(owner, nameof(owner));
                this.owner = owner;

                Table = CreateTextBlockTable();

                foreach (TextBlock block in Table.Values)
                {
                    owner.shapes.Add(block);
                }
            }