UI-neutral command dispatched by TUI or LiveView clients.
@type t() :: %Vibe.UI.Command{data: map(), type: atom()}
@spec new(atom(), map()) :: t()