TornadoFX is useful in some way, but it is poorly designed for general use. The very idea of using the "builder syntax" is cool but debatable, and its limits show up here and there. TornadoFX should be dismembered in a few separate libraries, as Kotlin has its "standard" libraries for serialization (kotlinx.serialization) and HTTP (ktor), and most non-trivial applications already require a full-fledged dependency injector.