Designing a GUI library for Rust, and an excellent overview of the many different approaches taken in GUI frameworks: https://raphlinus.github.io/rust/druid/2019/10/31/rust-2020.html