I'm wondering if there's builtin support for editing components of the heading? I'm trying to set the text component (i.e. `(nth 4 (org-heading-components))`) without altering anything else and while I can obviously achieve this with generic elisp I wanted to be sure I had to.
The cleanest elisp I came up with was:
```
(save-excursion
(org-back-to-heading t)
(let (case-fold-search)
(looking-at org-complex-heading-regexp)
(replace-match text t t nil 4)
(org-align-tags)))
```