Depois dê uma olhada na biblioteca Textual.

Eu já testei essa biblioteca achei meio complicado desenvolver GUI para ela, mas acho super interessante.