Persistence behavior for SharedDoc
@callback bind(state :: term(), doc_name :: String.t(), doc :: Yex.Doc.t()) :: term()
@callback unbind(state :: term(), doc_name :: String.t(), doc :: Yex.Doc.t()) :: :ok
@callback update_v1( state :: term(), update :: binary(), doc_name :: String.t(), doc :: Yex.Doc.t() ) :: term()