Define a structure to easy pattern matching the input on commands dispatched
@type t() :: %Nexus.Command.Input{raw: binary(), subcommand: atom(), value: term()}
@spec parse!(term(), binary()) :: t()