@callback cmd(binary(), [term()]) :: {term(), 0} | {term(), integer()}
@callback cmd(binary(), [term()], keyword()) :: {term(), 0} | {term(), integer()}