There are ways to do this even with GUIs, the prime example being "expert" software like 3D graphics tools like Maya or Blender or things like CAD although CAD's origins were command oriented.
Blender does it especially well. The only thing it's missing when compared to command-line utilities is composability with other tools like pipes. Blender has tons of features, and it has to because of its monolithic design.
Then again, collaborative (open source) design is the workaround for monolithic software, and it's worked exceptionally well for Linux and Blender.