 (defun spacemacs//transient-state-func-name (name)
   "Return the name of the transient state function."
   (intern (format "spacemacs/%S-transient-state" name)))
+
+(defun spacemacs//transient-state-props-var-name (name)
+  "Return the name of the variable use to store the transient state properties."
+  (intern (format "spacemacs--%S-transient-state-props" name)))
 
 (defun spacemacs//transient-state-body-func-name (name)
   "Return the name of the transient state function."

    which means to not exit but warn the user that the key is not part
    of the transient state, or run, which means to try to run the key binding
    without exiting.
`:entry-binding MAP KEY'
    Key binding to use for entering the transient state.
`:bindings EXPRESSIONS'
    One or several EXPRESSIONS with the form
    (STRING1 SYMBOL1 DOCSTRING

used."
  (declare (indent 1))
  (let* ((func (spacemacs//transient-state-func-name name))
         (props-var (spacemacs//transient-state-props-var-name name))
         (body-func (spacemacs//transient-state-body-func-name name))
         (add-bindings
          (intern (format "spacemacs-%s-transient-state-add-bindings" name)))
         (remove-bindings
          (intern (format "spacemacs-%s-transient-state-remove-bindings" name)))
         (bindings (spacemacs/mplist-get props :bindings))
         (doc (or (plist-get props :doc) "\n"))
         (title (plist-get props :title))
