Anywhere you use a link or button, you can probably use an emacs command instead. I think maybe the value of links and buttons is that they're explicit. It's a reminder in the text and you don't have to learn it.
One thing I noticed in my little "recalc" exercise is that Hyperbole really really wants the cursor to stay on the button. I used function advice to make the cursor stay where it was when you clicked the button. This allows "menubars" to work, lists of buttons that can operate on the text without warping the cursor to the buttons. This is how Oberon and WIly work and I think Hyperbole (for my use cases anyway) will benefit from this usage style.