Large tasks:
At least we need menus for load, save, exit, and help.
We also need to figure out which other menus are needed.
Now, the user process and C#Shell (GUI) executes in the same process, which can make trouble if the user tries to use some of the same static stuff the GUI is using, such as GTK# initialization. Also, when the user code crashes, the GUI will also crash, which is undesirable.
If you are interested in any of these tasks, please email the author.