I have been using soft ports to implement a text widget in my GUI framework. I also used GOOPS, which I regret to this day, and so the whole framework needs a serious rewrite, but if you're collecting various species to the museum of make-soft-port, you can have a look: