What we have been discussing with Gorkem some time ago is a separation of development stack and user's application step.
I believe it is something similar to what Mario says.
My idea is that user doesn't want to describe his development environment, but wants to put his production environment and add some functionality provided by Che.
For example, a user has prod with a spring boot app and DB. He wants to open Che and put his compose/k8s recipe to create workspace and choose what he needs java support, visual tool for querying the DB, maven, terminal to call maven and git operations, etc. Then Che should do some magic to provide a workspace with all of these components merged somehow.
What would be needed for the user next is an ability to redeploy his app after he changed sources. And this redeploys should not (if possible) involve running spring boot app inside of development containers t deliver sources. Delivering sources should be a problem for a tool, aka Che, not the user. It is the place where those build container (s2i) are needed.
I understand that this is a major change, but this would provide much better UX and would behave in a quite an intuitive way for a user.