It's been a long time since I've thought about it, but the design is such that the Compose code already talks directly to the Widgets. The only thing is that we only support the protocol implementation of widgets because of the applier in use which appends operations directly to the protocol.
The change that would have to be made is that the applier would need to talk to the Widget.Children instance on the current widget. Then, for the protocol, we would just use an implementation that appended to the protocol.
I can look a bit at it today and maybe write up some of what is needed.