Hey smallrobot, thanks for your kind words!
It's quite feasible, the "text command" functionality is entirely customizable. You could create a "callfunction" command that accept at least one parameter (a callback function name) and optional parameters to be passed to the callback. Or you could also create a dedicated command called "MoveNPC" that accepts parameters to customize what NPC should move and how it should move.
To create new commands you simply have to add more events under the "Dialogue_ProcessCommand" function event in the "Text commands" group.
Let me know if you need further help!